diff --git a/.changes/js-yaml-4.1.md b/.changes/js-yaml-4.1.md new file mode 100644 index 00000000..504ca3f5 --- /dev/null +++ b/.changes/js-yaml-4.1.md @@ -0,0 +1,5 @@ +--- +"@covector/files": patch:deps +--- + +Bumps `js-yaml` minor to sync on the same version. diff --git a/.changes/semver-7.5.md b/.changes/semver-7.5.md new file mode 100644 index 00000000..03587b66 --- /dev/null +++ b/.changes/semver-7.5.md @@ -0,0 +1,6 @@ +--- +"@covector/files": patch:deps +"@covector/apply": patch:deps +--- + +Bumps `semver` minor to latest. diff --git a/.changes/zod-config-file.md b/.changes/zod-config-file.md index 02258594..5eae38d0 100644 --- a/.changes/zod-config-file.md +++ b/.changes/zod-config-file.md @@ -1,7 +1,7 @@ --- -"@covector/assemble": patch -"@covector/files": minor -"@covector/types": minor +"@covector/assemble": patch:enhance +"@covector/files": minor:enhance +"@covector/types": minor:enhance --- Implement zod for config file schema parsing and checking. It will throw an error if the `config.json` has entries that do not match the schema. diff --git a/package-lock.json b/package-lock.json index 442948ba..658e45cc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,12 +12,12 @@ "packages/*" ], "devDependencies": { - "@effection/jest": "^2.0.4", + "@effection/jest": "^2.0.5", "@types/jest": "^27.4.1", "@types/node": "^16.18.12", "jest": "^27.5.1", "jest-mock-console": "^1.2.3", - "prettier": "^2.6.2", + "prettier": "^3.0.0", "rimraf": "^3.0.2", "ts-jest": "^27.1.4" } @@ -604,6 +604,17 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@chainsafe/abort-controller": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@chainsafe/abort-controller/-/abort-controller-3.0.1.tgz", + "integrity": "sha512-oyq0qgFJDIIgLpyPwTv4j/sHX/MITatFzY3/b42VSldyZfnUC1lYBx5RwFvzBv1Sq4APOj2VCZO23pDRwy5kew==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, "node_modules/@covector/apply": { "resolved": "packages/apply", "link": true @@ -629,90 +640,102 @@ "link": true }, "node_modules/@effection/channel": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/channel/-/channel-2.0.4.tgz", - "integrity": "sha512-JlopFnlubIGEKEwmoENsNqj2Tfxt0Xz6P8wFnmKVOajT9ggsFKgIaD3DwZ8ndJnHM+mw5BvKMaPGuuL7r3Pvuw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/channel/-/channel-2.0.5.tgz", + "integrity": "sha512-Tq1BHVOKcH2Gd5Wsp1kqW1uKU+ZnXxb/wAXeRx57ciOY3bB6+0uOf1GdL9U8YQW5h2WQPBx76RykYLBhgVs9Cw==", "dependencies": { - "@effection/core": "2.2.1", - "@effection/events": "2.0.4", - "@effection/stream": "2.0.4" + "@effection/core": "2.2.2", + "@effection/events": "2.0.5", + "@effection/stream": "2.0.5" } }, "node_modules/@effection/core": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@effection/core/-/core-2.2.1.tgz", - "integrity": "sha512-uYItornfIcdEya1NrRbatPQyRc1DR+o1RNtpYkVyXMSf3bpShsPADdqPJmxTvGaa2CK6mLkZ+6onUNz06tsPWA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@effection/core/-/core-2.2.2.tgz", + "integrity": "sha512-JdOTXLrflRyBTgvTHwX9l0ItWfcEPUGiUFKhqnMDJT6lf2FUnQ85oKTrDZXco2sQjXKuMtO0dwzmKngos2cTIQ==", "dependencies": { - "abort-controller": "^3.0.0" + "@chainsafe/abort-controller": "^3.0.1" } }, "node_modules/@effection/events": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/events/-/events-2.0.4.tgz", - "integrity": "sha512-7CsWy1h9JON+ZtIcQTcld4MWLs7JS09ncmiO1bLFQE3BaIEBjs98E89WtfGg66bXvlTYC0wTC7it03CcA/QEbA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/events/-/events-2.0.5.tgz", + "integrity": "sha512-xhF5hX8+ZmCvLuRSSCHwVudm/vm1/U9M9xi8+h0jwECt/2PV26vz+8ZDXbJGh9eF+0TZ+tIHto/X+7bTiRtQxg==", "dependencies": { - "@effection/core": "2.2.1", - "@effection/stream": "2.0.4" + "@effection/core": "2.2.2", + "@effection/stream": "2.0.5" } }, "node_modules/@effection/fetch": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@effection/fetch/-/fetch-2.0.5.tgz", - "integrity": "sha512-NWrZYBgmNx686aslxf4J8CuquMIFVcG3LnONkGWQ41agDAX2lqQUOa5pAtUqj1hvEtb+l3lNawvpWbqFuNYYzA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@effection/fetch/-/fetch-2.0.6.tgz", + "integrity": "sha512-b0fUUe4vWCVopp8GyaP67L7EttGVA1NAYFm+4aLQntR0R3ybfl1uPGz164tM4eVXGwHYEwEkArFV9/oaXePyKA==", "dependencies": { - "@effection/core": "2.2.1", + "@effection/core": "2.2.2", + "@effection/mocha": "^2.0.6", "cross-fetch": "3.1.5" } }, "node_modules/@effection/jest": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/jest/-/jest-2.0.4.tgz", - "integrity": "sha512-GSGEhsVc9e/c1fYAwqc2G4EUWR0mxIY2EZ/FlUiTXxqk8kebPuYT6H5UCCa1WroGC5kMOazSIoTb9hLWwq5YmA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/jest/-/jest-2.0.5.tgz", + "integrity": "sha512-8mTQik7EpLtzw1r8rUj7pbRF1LJ0/2cRZs2I/qve673p0U9rRkqoELcRPXmCIS6sjFPtTDp93e7IdhDLKe0Zrg==", "dev": true, "dependencies": { "assert-ts": "^0.3.4", - "effection": "2.0.6" + "effection": "2.0.7" }, "peerDependencies": { "jest": "^27.0.0" } }, "node_modules/@effection/main": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@effection/main/-/main-2.1.1.tgz", - "integrity": "sha512-NwQ4hN+Crja/8At8QCr2vXyTkd5kDdwnl1UqqspSm88y3YdVH/B8yvw89Y3j+E0teo3COY/zu5NcS/VnxkMnLQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@effection/main/-/main-2.1.2.tgz", + "integrity": "sha512-202JariBwP210C3Ka+ZHLGymcAuXs8Lg8TECbawpMFhA2w58AZhQB/oc0SOGvHWDarfRjVCMmB2dvQchCAGgnQ==", "dependencies": { - "@effection/core": "2.2.1", + "@effection/core": "^2.2.2", "chalk": "^4.1.2", "stacktrace-parser": "^0.1.10" } }, + "node_modules/@effection/mocha": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@effection/mocha/-/mocha-2.0.7.tgz", + "integrity": "sha512-CSb0GEWUDL3BhvQw1FAT79xAypNOFYtQFaBozq2daM8E1Ej4DSJFCixDZahQBbXgLAmftSffeHdhYLDlr4pY/g==", + "dependencies": { + "effection": "2.0.7" + }, + "peerDependencies": { + "mocha": "^10.0.0" + } + }, "node_modules/@effection/process": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@effection/process/-/process-2.1.2.tgz", - "integrity": "sha512-hwanPqnyA1fyQNDFwoRo6fqrbX7akgLPv4fXYEOETElDjaXuLA88FHBPaDm52IJv2KI49beq9krdEaobWmFmlA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@effection/process/-/process-2.1.3.tgz", + "integrity": "sha512-LsSpstWbT0aBMITXR7VyNt4xpdhYQ8Uxc2cw98j7cXbadfnvRN7J7/KJHY97g3g98aDbREPex713bp4G7ef8wQ==", "dependencies": { "cross-spawn": "^7.0.3", "ctrlc-windows": "^2.1.0", - "effection": "2.0.6", + "effection": "2.0.7", "shellwords": "^0.1.1" } }, "node_modules/@effection/stream": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/stream/-/stream-2.0.4.tgz", - "integrity": "sha512-XXDiUbX+2zBAFlV6r5HfwLzm1Ko1Had13HUNTJFR+fmtkb5uG9Y6eJuViphaYg0VBbsZTJfgTAZWzN4PsBT9Lg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/stream/-/stream-2.0.5.tgz", + "integrity": "sha512-uALkQhCjgc7moeY3H8FG/plfYvgVTmxGOyJscgopRKYJIIuagswD0HD8RiSu1C21PuaUDCqfjMO3LIyNamcIqQ==", "dependencies": { - "@effection/core": "2.2.1", - "@effection/subscription": "2.0.4" + "@effection/core": "2.2.2", + "@effection/subscription": "2.0.5" } }, "node_modules/@effection/subscription": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/subscription/-/subscription-2.0.4.tgz", - "integrity": "sha512-flr7bu4a9t3WuDAXodH2Y2LId8pPb3UEUtwYsUaGBWNxLJJ51t3uCdPybf57L5h4/bqxAwJosd3gyhAhKzxk0Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/subscription/-/subscription-2.0.5.tgz", + "integrity": "sha512-Vsufl5Ywum2HgIjruhh4OJefvFnxYCWXtWZY/yVK3X2rovgdXr2IKphfO00VsXKeP4Uez4BhuiuFF5tq2DKDnw==", "dependencies": { - "@effection/core": "2.2.1" + "@effection/core": "2.2.2" } }, "node_modules/@iarna/toml": { @@ -1280,9 +1303,9 @@ "dev": true }, "node_modules/@types/lodash": { - "version": "4.14.191", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", - "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "version": "4.14.196", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.196.tgz", + "integrity": "sha512-22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ==", "dev": true }, "node_modules/@types/mdast": { @@ -1361,17 +1384,6 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, "node_modules/acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", @@ -1431,6 +1443,15 @@ "node": ">= 6.0.0" } }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -1471,7 +1492,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -1622,8 +1642,7 @@ "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "node_modules/base64-js": { "version": "1.5.1", @@ -1649,6 +1668,15 @@ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -1663,7 +1691,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -1686,6 +1713,12 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, + "node_modules/browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "peer": true + }, "node_modules/browserslist": { "version": "4.20.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", @@ -1855,6 +1888,33 @@ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "peer": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, "node_modules/ci-info": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", @@ -1901,7 +1961,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -1963,8 +2022,7 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "node_modules/convert-source-map": { "version": "1.8.0", @@ -2068,6 +2126,18 @@ } } }, + "node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/decimal.js": { "version": "10.3.1", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", @@ -2126,6 +2196,15 @@ "node": ">=8" } }, + "node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "peer": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", @@ -2168,17 +2247,17 @@ } }, "node_modules/effection": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/effection/-/effection-2.0.6.tgz", - "integrity": "sha512-Bc8pXBrNQFumPLAmwj6mh7JeZFbLRoPYkqhU8WkVAuwHCQZh2xHE5zxaceL1nWR78ZuqFwwXlrTODDQLIkeQBw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/effection/-/effection-2.0.7.tgz", + "integrity": "sha512-I9ndFvtByvHbvOHwMp1NM7vlLDT0RBOu1YlIfBece46VASSot0oPnAfoGdc1YKoQShQLjigvHZ6OqZYUAxUcXg==", "dependencies": { - "@effection/channel": "2.0.4", - "@effection/core": "2.2.1", - "@effection/events": "2.0.4", - "@effection/fetch": "2.0.5", - "@effection/main": "2.1.1", - "@effection/stream": "2.0.4", - "@effection/subscription": "2.0.4" + "@effection/channel": "2.0.5", + "@effection/core": "2.2.2", + "@effection/events": "2.0.5", + "@effection/fetch": "2.0.6", + "@effection/main": "2.1.2", + "@effection/stream": "2.0.5", + "@effection/subscription": "2.0.5" } }, "node_modules/electron-to-chromium": { @@ -2529,6 +2608,15 @@ "node": ">=0.10.0" } }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "peer": true, + "bin": { + "flat": "cli.js" + } + }, "node_modules/form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", @@ -2565,8 +2653,20 @@ "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, "node_modules/function-bind": { "version": "1.1.1", @@ -2616,7 +2716,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2697,6 +2796,15 @@ "node": ">=8" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "peer": true, + "bin": { + "he": "bin/he" + } + }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -2821,7 +2929,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2885,6 +2992,18 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "peer": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", @@ -3641,9 +3760,9 @@ } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -4121,7 +4240,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "dependencies": { "brace-expansion": "^1.1.7" }, @@ -4129,6 +4247,188 @@ "node": "*" } }, + "node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "peer": true, + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/mocha/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true + }, + "node_modules/mocha/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/mocha/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/mocha/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mocha/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "peer": true + }, + "node_modules/mocha/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mocha/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/mocha/node_modules/yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "peer": true, + "engines": { + "node": ">=10" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -4139,6 +4439,18 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -4199,7 +4511,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4372,7 +4683,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, "engines": { "node": ">=8" } @@ -4381,7 +4691,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -4465,15 +4774,15 @@ } }, "node_modules/prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", "dev": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" @@ -4533,6 +4842,12 @@ "node": ">=6" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -4552,6 +4867,15 @@ } ] }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, "node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -4571,6 +4895,18 @@ "node": ">= 6" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/remark-frontmatter": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz", @@ -4624,6 +4960,12 @@ "node": ">=0.10.0" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "node_modules/resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -4748,8 +5090,7 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -4769,14 +5110,23 @@ } }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" } }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4971,7 +5321,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, "engines": { "node": ">=8" }, @@ -5122,19 +5471,29 @@ } }, "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { "node": ">=6" } }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/tr46": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", @@ -5200,9 +5559,9 @@ } }, "node_modules/ts-jest/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -5336,6 +5695,16 @@ "node": ">= 4.0.0" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -5491,14 +5860,20 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "peer": true + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -5582,7 +5957,6 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -5600,11 +5974,49 @@ "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, "engines": { "node": ">=10" } }, + "node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "peer": true, + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-unparser/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zod": { "version": "3.21.4", "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", @@ -5642,7 +6054,7 @@ "effection": "^2.0.6" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "@vercel/ncc": "^0.36.1", "fixturez": "^1.1.0", "tslib": "^2.5.0", @@ -5656,18 +6068,18 @@ "dependencies": { "@covector/files": "0.6.2", "effection": "^2.0.6", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "tslib": "^2.5.0", "typescript": "^4.9.5" } }, "packages/apply/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -5694,9 +6106,9 @@ "unified": "^9.2.1" }, "devDependencies": { - "@covector/types": "^0.0.0", - "@types/js-yaml": "^4.0.0", - "@types/lodash": "^4.14.191", + "@covector/types": "0.0.0", + "@types/js-yaml": "^4.0.5", + "@types/lodash": "^4.14.196", "fixturez": "^1.1.0", "tslib": "^2.5.0", "typescript": "^4.9.5" @@ -5733,8 +6145,8 @@ "unified": "^9.2.1" }, "devDependencies": { - "@covector/types": "^0.0.0", - "@types/lodash": "^4.14.191", + "@covector/types": "0.0.0", + "@types/lodash": "^4.14.196", "tslib": "^2.5.0", "typescript": "^4.9.5" } @@ -5744,12 +6156,12 @@ "version": "0.7.0", "license": "Apache-2.0", "dependencies": { - "@effection/process": "^2.1.2", + "@effection/process": "^2.1.3", "effection": "^2.0.6", "strip-ansi": "6.0.1" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "tslib": "^2.5.0", "typescript": "^4.9.5" } @@ -5766,13 +6178,13 @@ "effection": "^2.0.6", "globby": "^11.1.0", "inquirer": "^8.2.5", - "yargs": "^17.7.0" + "yargs": "^17.7.2" }, "bin": { "covector": "bin/covector.js" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "@types/inquirer": "^8.2.6", "fixturez": "^1.1.0", "tslib": "^2.5.0", @@ -5793,9 +6205,9 @@ } }, "packages/covector/node_modules/yargs": { - "version": "17.7.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.0.tgz", - "integrity": "sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -5825,14 +6237,14 @@ "@iarna/toml": "^2.2.5", "@tauri-apps/toml": "^2.2.4", "globby": "^11.1.0", - "js-yaml": "^4.0.0", - "semver": "^7.3.8", + "js-yaml": "^4.1.0", + "semver": "^7.5.4", "zod": "^3.21.4", "zod-validation-error": "^1.3.1" }, "devDependencies": { - "@covector/types": "^0.0.0", - "@types/js-yaml": "^4.0.0", + "@covector/types": "0.0.0", + "@types/js-yaml": "^4.0.5", "@types/node": "^16.18.12", "@types/semver": "^7.3.13", "fixturez": "^1.1.0", @@ -5859,9 +6271,9 @@ } }, "packages/files/node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -5877,7 +6289,7 @@ "version": "0.0.0", "license": "Apache-2.0", "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "tslib": "^2.5.0", "typescript": "^4.9.5" } @@ -6331,21 +6743,29 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "@chainsafe/abort-controller": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@chainsafe/abort-controller/-/abort-controller-3.0.1.tgz", + "integrity": "sha512-oyq0qgFJDIIgLpyPwTv4j/sHX/MITatFzY3/b42VSldyZfnUC1lYBx5RwFvzBv1Sq4APOj2VCZO23pDRwy5kew==", + "requires": { + "event-target-shim": "^5.0.0" + } + }, "@covector/apply": { "version": "file:packages/apply", "requires": { "@covector/files": "0.6.2", - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "effection": "^2.0.6", - "semver": "^7.3.8", + "semver": "^7.5.4", "tslib": "^2.5.0", "typescript": "^4.9.5" }, "dependencies": { "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -6357,9 +6777,9 @@ "requires": { "@covector/command": "0.7.0", "@covector/files": "0.6.2", - "@covector/types": "^0.0.0", - "@types/js-yaml": "^4.0.0", - "@types/lodash": "^4.14.191", + "@covector/types": "0.0.0", + "@types/js-yaml": "^4.0.5", + "@types/lodash": "^4.14.196", "effection": "^2.0.6", "fixturez": "^1.1.0", "js-yaml": "^4.1.0", @@ -6391,8 +6811,8 @@ "version": "file:packages/changelog", "requires": { "@covector/files": "0.6.2", - "@covector/types": "^0.0.0", - "@types/lodash": "^4.14.191", + "@covector/types": "0.0.0", + "@types/lodash": "^4.14.196", "effection": "^2.0.6", "lodash": "^4.17.21", "remark-parse": "^9.0.0", @@ -6405,8 +6825,8 @@ "@covector/command": { "version": "file:packages/command", "requires": { - "@covector/types": "^0.0.0", - "@effection/process": "^2.1.2", + "@covector/types": "0.0.0", + "@effection/process": "^2.1.3", "effection": "^2.0.6", "strip-ansi": "6.0.1", "tslib": "^2.5.0", @@ -6416,16 +6836,16 @@ "@covector/files": { "version": "file:packages/files", "requires": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "@iarna/toml": "^2.2.5", "@tauri-apps/toml": "^2.2.4", - "@types/js-yaml": "^4.0.0", + "@types/js-yaml": "^4.0.5", "@types/node": "^16.18.12", "@types/semver": "^7.3.13", "fixturez": "^1.1.0", "globby": "^11.1.0", - "js-yaml": "^4.0.0", - "semver": "^7.3.8", + "js-yaml": "^4.1.0", + "semver": "^7.5.4", "tslib": "^2.5.0", "typescript": "^4.9.5", "zod": "^3.21.4", @@ -6446,9 +6866,9 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -6458,93 +6878,102 @@ "@covector/types": { "version": "file:packages/types", "requires": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "tslib": "^2.5.0", "typescript": "^4.9.5" } }, "@effection/channel": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/channel/-/channel-2.0.4.tgz", - "integrity": "sha512-JlopFnlubIGEKEwmoENsNqj2Tfxt0Xz6P8wFnmKVOajT9ggsFKgIaD3DwZ8ndJnHM+mw5BvKMaPGuuL7r3Pvuw==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/channel/-/channel-2.0.5.tgz", + "integrity": "sha512-Tq1BHVOKcH2Gd5Wsp1kqW1uKU+ZnXxb/wAXeRx57ciOY3bB6+0uOf1GdL9U8YQW5h2WQPBx76RykYLBhgVs9Cw==", "requires": { - "@effection/core": "2.2.1", - "@effection/events": "2.0.4", - "@effection/stream": "2.0.4" + "@effection/core": "2.2.2", + "@effection/events": "2.0.5", + "@effection/stream": "2.0.5" } }, "@effection/core": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@effection/core/-/core-2.2.1.tgz", - "integrity": "sha512-uYItornfIcdEya1NrRbatPQyRc1DR+o1RNtpYkVyXMSf3bpShsPADdqPJmxTvGaa2CK6mLkZ+6onUNz06tsPWA==", + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@effection/core/-/core-2.2.2.tgz", + "integrity": "sha512-JdOTXLrflRyBTgvTHwX9l0ItWfcEPUGiUFKhqnMDJT6lf2FUnQ85oKTrDZXco2sQjXKuMtO0dwzmKngos2cTIQ==", "requires": { - "abort-controller": "^3.0.0" + "@chainsafe/abort-controller": "^3.0.1" } }, "@effection/events": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/events/-/events-2.0.4.tgz", - "integrity": "sha512-7CsWy1h9JON+ZtIcQTcld4MWLs7JS09ncmiO1bLFQE3BaIEBjs98E89WtfGg66bXvlTYC0wTC7it03CcA/QEbA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/events/-/events-2.0.5.tgz", + "integrity": "sha512-xhF5hX8+ZmCvLuRSSCHwVudm/vm1/U9M9xi8+h0jwECt/2PV26vz+8ZDXbJGh9eF+0TZ+tIHto/X+7bTiRtQxg==", "requires": { - "@effection/core": "2.2.1", - "@effection/stream": "2.0.4" + "@effection/core": "2.2.2", + "@effection/stream": "2.0.5" } }, "@effection/fetch": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@effection/fetch/-/fetch-2.0.5.tgz", - "integrity": "sha512-NWrZYBgmNx686aslxf4J8CuquMIFVcG3LnONkGWQ41agDAX2lqQUOa5pAtUqj1hvEtb+l3lNawvpWbqFuNYYzA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@effection/fetch/-/fetch-2.0.6.tgz", + "integrity": "sha512-b0fUUe4vWCVopp8GyaP67L7EttGVA1NAYFm+4aLQntR0R3ybfl1uPGz164tM4eVXGwHYEwEkArFV9/oaXePyKA==", "requires": { - "@effection/core": "2.2.1", + "@effection/core": "2.2.2", + "@effection/mocha": "^2.0.6", "cross-fetch": "3.1.5" } }, "@effection/jest": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/jest/-/jest-2.0.4.tgz", - "integrity": "sha512-GSGEhsVc9e/c1fYAwqc2G4EUWR0mxIY2EZ/FlUiTXxqk8kebPuYT6H5UCCa1WroGC5kMOazSIoTb9hLWwq5YmA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/jest/-/jest-2.0.5.tgz", + "integrity": "sha512-8mTQik7EpLtzw1r8rUj7pbRF1LJ0/2cRZs2I/qve673p0U9rRkqoELcRPXmCIS6sjFPtTDp93e7IdhDLKe0Zrg==", "dev": true, "requires": { "assert-ts": "^0.3.4", - "effection": "2.0.6" + "effection": "2.0.7" } }, "@effection/main": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@effection/main/-/main-2.1.1.tgz", - "integrity": "sha512-NwQ4hN+Crja/8At8QCr2vXyTkd5kDdwnl1UqqspSm88y3YdVH/B8yvw89Y3j+E0teo3COY/zu5NcS/VnxkMnLQ==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@effection/main/-/main-2.1.2.tgz", + "integrity": "sha512-202JariBwP210C3Ka+ZHLGymcAuXs8Lg8TECbawpMFhA2w58AZhQB/oc0SOGvHWDarfRjVCMmB2dvQchCAGgnQ==", "requires": { - "@effection/core": "2.2.1", + "@effection/core": "^2.2.2", "chalk": "^4.1.2", "stacktrace-parser": "^0.1.10" } }, + "@effection/mocha": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@effection/mocha/-/mocha-2.0.7.tgz", + "integrity": "sha512-CSb0GEWUDL3BhvQw1FAT79xAypNOFYtQFaBozq2daM8E1Ej4DSJFCixDZahQBbXgLAmftSffeHdhYLDlr4pY/g==", + "requires": { + "effection": "2.0.7" + } + }, "@effection/process": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@effection/process/-/process-2.1.2.tgz", - "integrity": "sha512-hwanPqnyA1fyQNDFwoRo6fqrbX7akgLPv4fXYEOETElDjaXuLA88FHBPaDm52IJv2KI49beq9krdEaobWmFmlA==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@effection/process/-/process-2.1.3.tgz", + "integrity": "sha512-LsSpstWbT0aBMITXR7VyNt4xpdhYQ8Uxc2cw98j7cXbadfnvRN7J7/KJHY97g3g98aDbREPex713bp4G7ef8wQ==", "requires": { "cross-spawn": "^7.0.3", "ctrlc-windows": "^2.1.0", - "effection": "2.0.6", + "effection": "2.0.7", "shellwords": "^0.1.1" } }, "@effection/stream": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/stream/-/stream-2.0.4.tgz", - "integrity": "sha512-XXDiUbX+2zBAFlV6r5HfwLzm1Ko1Had13HUNTJFR+fmtkb5uG9Y6eJuViphaYg0VBbsZTJfgTAZWzN4PsBT9Lg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/stream/-/stream-2.0.5.tgz", + "integrity": "sha512-uALkQhCjgc7moeY3H8FG/plfYvgVTmxGOyJscgopRKYJIIuagswD0HD8RiSu1C21PuaUDCqfjMO3LIyNamcIqQ==", "requires": { - "@effection/core": "2.2.1", - "@effection/subscription": "2.0.4" + "@effection/core": "2.2.2", + "@effection/subscription": "2.0.5" } }, "@effection/subscription": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@effection/subscription/-/subscription-2.0.4.tgz", - "integrity": "sha512-flr7bu4a9t3WuDAXodH2Y2LId8pPb3UEUtwYsUaGBWNxLJJ51t3uCdPybf57L5h4/bqxAwJosd3gyhAhKzxk0Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@effection/subscription/-/subscription-2.0.5.tgz", + "integrity": "sha512-Vsufl5Ywum2HgIjruhh4OJefvFnxYCWXtWZY/yVK3X2rovgdXr2IKphfO00VsXKeP4Uez4BhuiuFF5tq2DKDnw==", "requires": { - "@effection/core": "2.2.1" + "@effection/core": "2.2.2" } }, "@iarna/toml": { @@ -7032,9 +7461,9 @@ "dev": true }, "@types/lodash": { - "version": "4.14.191", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz", - "integrity": "sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==", + "version": "4.14.196", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.196.tgz", + "integrity": "sha512-22y3o88f4a94mKljsZcanlNWPzO0uBsBdzLAngf2tp533LzZcQzb6+eZPJ+vCTt+bqF2XnvT9gejTLsAcJAJyQ==", "dev": true }, "@types/mdast": { @@ -7110,14 +7539,6 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", "dev": true }, - "abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "requires": { - "event-target-shim": "^5.0.0" - } - }, "acorn": { "version": "8.7.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", @@ -7153,7 +7574,7 @@ "requires": { "@actions/core": "^1.10.0", "@actions/github": "^5.1.1", - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "@vercel/ncc": "^0.36.1", "effection": "^2.0.6", "fixturez": "^1.1.0", @@ -7170,6 +7591,12 @@ "debug": "4" } }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "peer": true + }, "ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -7195,7 +7622,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, "requires": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -7312,8 +7738,7 @@ "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "base64-js": { "version": "1.5.1", @@ -7325,6 +7750,12 @@ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==" }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "peer": true + }, "bl": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", @@ -7339,7 +7770,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -7359,6 +7789,12 @@ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", "dev": true }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", + "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", + "peer": true + }, "browserslist": { "version": "4.20.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", @@ -7458,6 +7894,22 @@ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "peer": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, "ci-info": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", @@ -7492,7 +7944,6 @@ "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -7541,8 +7992,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "convert-source-map": { "version": "1.8.0", @@ -7561,7 +8011,7 @@ "@covector/changelog": "0.9.0", "@covector/command": "0.7.0", "@covector/files": "0.6.2", - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "@types/inquirer": "^8.2.6", "effection": "^2.0.6", "fixturez": "^1.1.0", @@ -7569,7 +8019,7 @@ "inquirer": "^8.2.5", "tslib": "^2.5.0", "typescript": "^4.9.5", - "yargs": "^17.7.0" + "yargs": "^17.7.2" }, "dependencies": { "cliui": { @@ -7583,9 +8033,9 @@ } }, "yargs": { - "version": "17.7.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.0.tgz", - "integrity": "sha512-dwqOPg5trmrre9+v8SUo2q/hAwyKoVfu8OC1xPHKJGNdxAvPl4sKxL4vBnh3bQz/ZvvGAFeA5H3ou2kcOY8sQQ==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "requires": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -7674,6 +8124,12 @@ "ms": "2.1.2" } }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "peer": true + }, "decimal.js": { "version": "10.3.1", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", @@ -7723,6 +8179,12 @@ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "peer": true + }, "diff-sequences": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", @@ -7755,17 +8217,17 @@ } }, "effection": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/effection/-/effection-2.0.6.tgz", - "integrity": "sha512-Bc8pXBrNQFumPLAmwj6mh7JeZFbLRoPYkqhU8WkVAuwHCQZh2xHE5zxaceL1nWR78ZuqFwwXlrTODDQLIkeQBw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/effection/-/effection-2.0.7.tgz", + "integrity": "sha512-I9ndFvtByvHbvOHwMp1NM7vlLDT0RBOu1YlIfBece46VASSot0oPnAfoGdc1YKoQShQLjigvHZ6OqZYUAxUcXg==", "requires": { - "@effection/channel": "2.0.4", - "@effection/core": "2.2.1", - "@effection/events": "2.0.4", - "@effection/fetch": "2.0.5", - "@effection/main": "2.1.1", - "@effection/stream": "2.0.4", - "@effection/subscription": "2.0.4" + "@effection/channel": "2.0.5", + "@effection/core": "2.2.2", + "@effection/events": "2.0.5", + "@effection/fetch": "2.0.6", + "@effection/main": "2.1.2", + "@effection/stream": "2.0.5", + "@effection/subscription": "2.0.5" } }, "electron-to-chromium": { @@ -8032,6 +8494,12 @@ } } }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "peer": true + }, "form-data": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", @@ -8062,8 +8530,13 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true }, "function-bind": { "version": "1.1.1", @@ -8098,7 +8571,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -8155,6 +8627,12 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "peer": true + }, "html-encoding-sniffer": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -8235,7 +8713,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -8288,6 +8765,15 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", "dev": true }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "peer": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", @@ -8849,9 +9335,9 @@ }, "dependencies": { "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -9203,11 +9689,138 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, + "mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "peer": true, + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "peer": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "peer": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "peer": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "peer": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "peer": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "peer": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "peer": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "peer": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "peer": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "peer": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "peer": true + } + } + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -9218,6 +9831,12 @@ "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "peer": true + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -9268,8 +9887,7 @@ "normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" }, "npm-run-path": { "version": "4.0.1", @@ -9395,14 +10013,12 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-key": { "version": "3.1.1", @@ -9459,9 +10075,9 @@ "dev": true }, "prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz", + "integrity": "sha512-zBf5eHpwHOGPC47h0zrPyNn+eAEIdEzfywMoYn2XPi0P44Zp0tSq64rq0xAREh4auw2cJZHo9QUob+NqCQky4g==", "dev": true }, "pretty-format": { @@ -9505,11 +10121,26 @@ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", "dev": true }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "peer": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -9526,6 +10157,15 @@ "util-deprecate": "^1.0.1" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "peer": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "remark-frontmatter": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-3.0.0.tgz", @@ -9561,6 +10201,12 @@ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "resolve": { "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", @@ -9640,8 +10286,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", @@ -9658,11 +10303,20 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "peer": true, + "requires": { + "randombytes": "^2.1.0" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -9809,8 +10463,7 @@ "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" }, "supports-color": { "version": "7.2.0", @@ -9919,14 +10572,23 @@ } }, "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dev": true, "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + } } }, "tr46": { @@ -9960,9 +10622,9 @@ }, "dependencies": { "semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -10056,6 +10718,16 @@ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -10181,11 +10853,17 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "peer": true + }, "wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -10246,7 +10924,6 @@ "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, "requires": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -10260,8 +10937,33 @@ "yargs-parser": { "version": "20.2.9", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "peer": true, + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "peer": true + } + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "peer": true }, "zod": { "version": "3.21.4", diff --git a/package.json b/package.json index 5b8dadac..34f59e4c 100644 --- a/package.json +++ b/package.json @@ -19,12 +19,12 @@ "packages/*" ], "devDependencies": { - "@effection/jest": "^2.0.4", + "@effection/jest": "^2.0.5", "@types/jest": "^27.4.1", "@types/node": "^16.18.12", "jest": "^27.5.1", "jest-mock-console": "^1.2.3", - "prettier": "^2.6.2", + "prettier": "^3.0.0", "rimraf": "^3.0.2", "ts-jest": "^27.1.4" }, diff --git a/packages/action/package.json b/packages/action/package.json index 86c66ddd..1d14e368 100644 --- a/packages/action/package.json +++ b/packages/action/package.json @@ -17,7 +17,7 @@ "effection": "^2.0.6" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "@vercel/ncc": "^0.36.1", "fixturez": "^1.1.0", "tslib": "^2.5.0", diff --git a/packages/action/src/index.ts b/packages/action/src/index.ts index 5dd40bb8..0821da72 100644 --- a/packages/action/src/index.ts +++ b/packages/action/src/index.ts @@ -57,7 +57,7 @@ export function* run(): Generator { core.setOutput( `willPublish`, covectored.response === "No changes." && - covectored.pkgReadyToPublish.length > 0 + covectored.pkgReadyToPublish.length > 0, ); if (covectored?.pkgReadyToPublish?.length > 0) { covectored.pkgReadyToPublish.forEach((pkg) => { @@ -66,14 +66,14 @@ export function* run(): Generator { .replace(/\@/g, "-") .replace(/\//g, "-") .replace(/\_/g, "-"), - true + true, ); core.setOutput( `version-${pkg.pkg}` .replace(/\@/g, "-") .replace(/\//g, "-") .replace(/\_/g, "-"), - pkg?.pkgFile?.version ?? "" + pkg?.pkgFile?.version ?? "", ); }); } @@ -92,12 +92,12 @@ export function* run(): Generator { (text, pkg) => { if (typeof covectored.commandsRan[pkg].command === "string") { text = `${text}\n\n\n# ${pkg}\n\n${commandText( - covectored.commandsRan[pkg] + covectored.commandsRan[pkg], )}`; } return text; }, - "# Version Updates\n\nMerging this PR will release new versions of the following packages based on your change files.\n\n" + "# Version Updates\n\nMerging this PR will release new versions of the following packages based on your change files.\n\n", ); core.setOutput("change", covectoredSmushed); const payload = JSON.stringify(covectoredSmushed, undefined, 2); @@ -112,7 +112,7 @@ export function* run(): Generator { core.debug( `createRelease is ${core.getInput("createRelease")} ${ token ? "with" : "without" - } a token.` + } a token.`, ); if (core.getInput("createRelease") === "true" && token) { const octokit = github.getOctokit(token); @@ -149,7 +149,7 @@ export function* run(): Generator { return pub === "" ? pkg : `${pub},${pkg}`; } }, - "" + "", ); core.setOutput("packagesPublished", packagesPublished); core.setOutput("templatePipe", JSON.stringify(covectored.pipeTemplate)); @@ -172,26 +172,26 @@ export function* run(): Generator { const configuredLabel = core.getInput("label"); const previewLabel = github?.context?.payload?.pull_request?.labels?.filter( - ({ name }: { name: String }) => name === configuredLabel + ({ name }: { name: String }) => name === configuredLabel, ).length; const previewVersion = core.getInput("previewVersion"); const versionIdentifier = core.getInput("identifier"); if (github.context.eventName !== "pull_request") { throw new Error( - `The 'preview' command for the covector action is only meant to run on pull requests.` + `The 'preview' command for the covector action is only meant to run on pull requests.`, ); } if (github.context.eventName !== "pull_request") { throw new Error( - `The 'preview' command for the covector action is only meant to run on pull requests.` + `The 'preview' command for the covector action is only meant to run on pull requests.`, ); } if (!previewLabel) { console.log( - `Not publishing any preview packages because the "${configuredLabel}" label has not been applied to this pull request.` + `Not publishing any preview packages because the "${configuredLabel}" label has not been applied to this pull request.`, ); } else { // primarily runs publish @@ -205,7 +205,7 @@ export function* run(): Generator { if (branchName === "latest") { throw new Error( - `Using the branch name, 'latest', will conflict with restricted tags when publishing packages. Please create another pull request with a different branch name.` + `Using the branch name, 'latest', will conflict with restricted tags when publishing packages. Please create another pull request with a different branch name.`, ); } @@ -215,7 +215,7 @@ export function* run(): Generator { break; default: throw new Error( - `Version identifier you specified, "${versionIdentifier}", is invalid.` + `Version identifier you specified, "${versionIdentifier}", is invalid.`, ); } @@ -226,12 +226,12 @@ export function* run(): Generator { case "sha": versionTemplate = `${identifier}.${github.context.payload.after.substring( 0, - 7 + 7, )}`; break; default: throw new Error( - `Preview version template you specified, "${previewVersion}", is invalid. Please use 'date' or 'sha'.` + `Preview version template you specified, "${previewVersion}", is invalid. Please use 'date' or 'sha'.`, ); } @@ -245,7 +245,7 @@ export function* run(): Generator { if (covectored.commandsRan) { let packagesPublished: any = Object.entries( - covectored.commandsRan + covectored.commandsRan, ).reduce((pub: string[], pkg: any[]) => { if (pkg[1].published) { let { name: pkgName, version: pkgVersion }: any = @@ -273,7 +273,7 @@ export function* run(): Generator { }); const covectorComments = data.filter((comment: any) => - comment.body.includes("") + comment.body.includes(""), ); let prComment = () => { @@ -285,7 +285,7 @@ export function* run(): Generator { (result: string, publishedPackage: string) => { return `${result}- \`${publishedPackage}\`\n`; }, - "" + "", ); } else { commentHead = "Covector did not publish any preview packages."; @@ -311,7 +311,7 @@ export function* run(): Generator { } } else { throw new Error( - `Github token argument in preview workflow is missing but it is required in order to generate comments on pull requests.` + `Github token argument in preview workflow is missing but it is required in order to generate comments on pull requests.`, ); } @@ -327,7 +327,7 @@ export function* run(): Generator { } } else { throw new Error( - `Command "${command}" not recognized. See README for which commands are available.` + `Command "${command}" not recognized. See README for which commands are available.`, ); } } catch (error: any) { diff --git a/packages/action/src/utils.ts b/packages/action/src/utils.ts index f750b208..bc5e41e7 100644 --- a/packages/action/src/utils.ts +++ b/packages/action/src/utils.ts @@ -39,19 +39,19 @@ export const injectPublishFunctions = curry( if (!config) return config; if (!Array.isArray(functionsToInject)) throw new Error( - "injectPublishFunctions() in modifyConfig() expects an array" + "injectPublishFunctions() in modifyConfig() expects an array", ); return { ...config, pkgManagers: injectIntoPublish(config.pkgManagers, functionsToInject), packages: injectIntoPublish(config.packages, functionsToInject), }; - } + }, ); const injectIntoPublish = ( packages: { [k: string]: object } | undefined, - functionsToInject: Function[] + functionsToInject: Function[], ) => { if (!packages) return {}; return Object.keys(packages).reduce((finalConfig, pkg) => { @@ -64,7 +64,7 @@ const injectIntoPublish = ( } return pm; }, - packages![pkg] || {} + packages![pkg] || {}, ); return finalConfig; @@ -98,18 +98,18 @@ export const createReleases = curry( repo: string; targetCommitish: string; }, - pipe: FunctionPipe + pipe: FunctionPipe, ): Promise => { if (!pipe.pkgFile) { console.log( - `skipping Github Release for ${pipe.pkg}, no package file present` + `skipping Github Release for ${pipe.pkg}, no package file present`, ); return; } if (!pipe.releaseTag) { console.log( - `skipping Github Release for ${pipe.pkg}, releaseTag is null` + `skipping Github Release for ${pipe.pkg}, releaseTag is null`, ); return; } @@ -123,7 +123,7 @@ export const createReleases = curry( }) .then((releases) => { const release = releases.data.find( - (r) => r.draft && r.tag_name === releaseTag + (r) => r.draft && r.tag_name === releaseTag, ); return release ? release : null; }) @@ -132,7 +132,7 @@ export const createReleases = curry( let releaseResponse; if (existingRelease && existingRelease.draft) { console.log( - `updating and publishing Github Release for ${pipe.pkg}@${pipe.pkgFile.version}` + `updating and publishing Github Release for ${pipe.pkg}@${pipe.pkgFile.version}`, ); releaseResponse = await octokit.rest.repos .updateRelease({ @@ -147,7 +147,7 @@ export const createReleases = curry( .then((response) => response.data); } else { console.log( - `creating Github Release for ${pipe.pkg}@${pipe.pkgFile.version}` + `creating Github Release for ${pipe.pkg}@${pipe.pkgFile.version}`, ); releaseResponse = await octokit.rest.repos .createRelease({ @@ -179,7 +179,7 @@ export const createReleases = curry( core.setOutput(`${cleanPipePkg}-releaseUrl`, releaseResponse.url); core.setOutput( `${cleanPipePkg}-releaseUploadUrl`, - releaseResponse.upload_url + releaseResponse.upload_url, ); core.setOutput(`${cleanPipePkg}-releaseId`, releaseResponse.id); @@ -192,7 +192,7 @@ export const createReleases = curry( try { for (let asset of pipe.assets) { console.log( - `uploading asset ${asset.name} for ${pipe.pkg}@${pipe.pkgFile.version}` + `uploading asset ${asset.name} for ${pipe.pkg}@${pipe.pkgFile.version}`, ); const uploadedAsset = await octokit.rest.repos .uploadReleaseAsset({ @@ -215,5 +215,5 @@ export const createReleases = curry( console.error(error); } } - } + }, ); diff --git a/packages/action/test/e2e.test.ts b/packages/action/test/e2e.test.ts index d4264f13..c1d95f56 100644 --- a/packages/action/test/e2e.test.ts +++ b/packages/action/test/e2e.test.ts @@ -82,7 +82,7 @@ describe("full e2e test", () => { expect({ covectoredAction }).toMatchSnapshot(); expect(core.setOutput).toHaveBeenCalledWith( "status", - "There are 2 changes which include tauri with minor, tauri-updater with patch" + "There are 2 changes which include tauri with minor, tauri-updater with patch", ); expect(core.setOutput).toHaveBeenCalledWith("commandRan", "version"); // to cover template pipe @@ -132,18 +132,18 @@ describe("full e2e test", () => { // the log gets random /r on windows in CI (console.log as any).mock.calls.map((logArray: any) => logArray.map((log: any) => - typeof log === "string" ? log.replace(/\\r/g, "") : log - ) - ) + typeof log === "string" ? log.replace(/\\r/g, "") : log, + ), + ), ).toMatchSnapshot(); expect({ covectoredAction }).toMatchSnapshot(); expect(core.setOutput).toHaveBeenCalledWith( "templatePipe", - expect.stringContaining("2.3.1") + expect.stringContaining("2.3.1"), ); expect(core.setOutput).toHaveBeenCalledWith( "templatePipe", - expect.stringContaining("1.9.0") + expect.stringContaining("1.9.0"), ); }); @@ -167,15 +167,15 @@ describe("full e2e test", () => { expect(core.setOutput).toHaveBeenCalledWith("successfulPublish", true); expect(core.setOutput).toHaveBeenCalledWith( "packagesPublished", - "package-one,package-two" + "package-one,package-two", ); expect(core.setOutput).toHaveBeenCalledWith( "templatePipe", - expect.stringContaining("2.3.1") + expect.stringContaining("2.3.1"), ); expect(core.setOutput).toHaveBeenCalledWith( "templatePipe", - expect.stringContaining("1.9.0") + expect.stringContaining("1.9.0"), ); }); @@ -217,17 +217,17 @@ describe("full e2e test", () => { updateRelease: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), createRelease: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), uploadReleaseAsset: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), }, }, @@ -307,17 +307,17 @@ describe("full e2e test", () => { updateRelease: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), createRelease: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), uploadReleaseAsset: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), }, }, @@ -394,17 +394,17 @@ describe("full e2e test", () => { updateRelease: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), createRelease: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), uploadReleaseAsset: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), }, }, @@ -465,17 +465,17 @@ describe("full e2e test", () => { updateRelease: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), createRelease: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), uploadReleaseAsset: jest .fn() .mockImplementation((input) => - Promise.resolve({ data: input }) + Promise.resolve({ data: input }), ), }, }, diff --git a/packages/apply/package.json b/packages/apply/package.json index 1d98732d..3af9cf80 100644 --- a/packages/apply/package.json +++ b/packages/apply/package.json @@ -18,10 +18,10 @@ "dependencies": { "@covector/files": "0.6.2", "effection": "^2.0.6", - "semver": "^7.3.8" + "semver": "^7.5.4" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "tslib": "^2.5.0", "typescript": "^4.9.5" }, diff --git a/packages/apply/src/apply.ts b/packages/apply/src/apply.ts index d54fda0b..38178a23 100644 --- a/packages/apply/src/apply.ts +++ b/packages/apply/src/apply.ts @@ -36,7 +36,7 @@ export function* apply({ finalChanges[command.pkg] = command; return finalChanges; }, - {} + {}, ); const bumps = bumpAll({ @@ -51,7 +51,7 @@ export function* apply({ bumps: bumps.reduce( (final: PackageFile[], current) => !current.file ? final : final.concat([current]), - [] + [], ), cwd, }); @@ -77,7 +77,7 @@ export function* validateApply({ finalChanges[command.pkg] = command; return finalChanges; }, - {} + {}, ); const bumps = bumpAll({ @@ -88,7 +88,7 @@ export function* validateApply({ }).reduce( (final: PackageFile[], current) => !current.file ? final : final.concat([current]), - [] + [], ); try { @@ -139,7 +139,7 @@ const bumpAll = ({ } else if (previewVersion) { // change log (assume that the prerelease will be removed) console.log( - `bumping ${pkg} with ${previewVersion} identifier to publish a preview` + `bumping ${pkg} with ${previewVersion} identifier to publish a preview`, ); } @@ -198,7 +198,7 @@ const bumpMain = ({ if (prereleaseIdentifier && typeof prereleaseIdentifier !== "string") throw new Error( - `${pkg.name} needs prereleaseIdentifier passed as a string` + `${pkg.name} needs prereleaseIdentifier passed as a string`, ); let next = semver.inc(pkg.version, bumpType, prereleaseIdentifier); @@ -224,7 +224,7 @@ const bumpMain = ({ throw new Error( `${pkg.name} will be bumped to ${version}. ` + `This satisfies the range ${errorOnVersionRange} which the configuration disallows. ` + - `Please adjust your bump to accommodate the range or otherwise adjust the allowed range in \`errorOnVersionRange\`.` + `Please adjust your bump to accommodate the range or otherwise adjust the allowed range in \`errorOnVersionRange\`.`, ); } } diff --git a/packages/apply/src/parents.ts b/packages/apply/src/parents.ts index 20f0fa26..aa5de310 100644 --- a/packages/apply/src/parents.ts +++ b/packages/apply/src/parents.ts @@ -27,7 +27,7 @@ const resolveParents = ({ }); return parents; }, - {} + {}, ); }; @@ -53,7 +53,7 @@ export const changesConsideringParents = ({ list[change].parents = parents[change]; return list; }, - {} + {}, ); const releases = parentBump({ diff --git a/packages/apply/test/apply-preview.test.ts b/packages/apply/test/apply-preview.test.ts index f6aa5f68..e4c357f0 100644 --- a/packages/apply/test/apply-preview.test.ts +++ b/packages/apply/test/apply-preview.test.ts @@ -60,7 +60,7 @@ describe("package file applies preview bump", () => { ' "description": "A single package at the root. No monorepo setup.",\n' + ' "repository": "https://www.github.com/jbolda/covector.git",\n' + ' "version": "0.5.9-branch-name.12345"\n' + - "}\n" + "}\n", ); expect({ @@ -133,7 +133,7 @@ describe("package file applies preview bump", () => { }); const modifiedPkgAFile = yield loadFile( "packages/pkg-a/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgAFile.content).toBe( "{\n" + @@ -142,18 +142,18 @@ describe("package file applies preview bump", () => { ' "dependencies": {\n' + ' "yarn-workspace-base-pkg-b": "1.0.0-branch-name.12345"\n' + " }\n" + - "}\n" + "}\n", ); const modifiedPkgBFile = yield loadFile( "packages/pkg-b/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgBFile.content).toBe( "{\n" + ' "name": "yarn-workspace-base-pkg-b",\n' + ' "version": "1.0.0-branch-name.12345"\n' + - "}\n" + "}\n", ); expect({ @@ -215,7 +215,7 @@ describe("package file applies preview bump to pre-release", () => { ' "name": "js-single-prerelease-json-fixture",\n' + ' "description": "A single package at the root. No monorepo setup.",\n' + ' "version": "0.5.9-branch-name.12345"\n' + - "}\n" + "}\n", ); expect({ @@ -287,7 +287,7 @@ describe("package file applies preview bump to pre-release", () => { }); const modifiedPkgAFile = yield loadFile( "packages/pkg-a/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgAFile.content).toBe( "{\n" + @@ -296,18 +296,18 @@ describe("package file applies preview bump to pre-release", () => { ' "dependencies": {\n' + ' "yarn-workspace-base-pkg-b": "1.0.0-branch-name.12345"\n' + " }\n" + - "}\n" + "}\n", ); const modifiedPkgBFile = yield loadFile( "packages/pkg-b/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgBFile.content).toBe( "{\n" + ' "name": "yarn-workspace-base-pkg-b",\n' + ' "version": "1.0.0-branch-name.12345"\n' + - "}\n" + "}\n", ); expect({ diff --git a/packages/apply/test/apply.test.ts b/packages/apply/test/apply.test.ts index 275699a2..453bc1c7 100644 --- a/packages/apply/test/apply.test.ts +++ b/packages/apply/test/apply.test.ts @@ -56,7 +56,7 @@ describe("package file apply bump (snapshot)", () => { ' "description": "A single package at the root. No monorepo setup.",\n' + ' "repository": "https://www.github.com/jbolda/covector.git",\n' + ' "version": "0.6.0"\n' + - "}\n" + "}\n", ); expect({ @@ -95,10 +95,10 @@ describe("package file apply bump (snapshot)", () => { const allPackages = yield readAllPkgFiles({ config, cwd: jsonFolder }); const applied = yield captureError( //@ts-expect-error - apply({ commands, config, allPackages, cwd: jsonFolder }) + apply({ commands, config, allPackages, cwd: jsonFolder }), ); expect(applied.message).toBe( - "js-single-json-fixture will be bumped to 0.6.0. This satisfies the range >= 0.6.0 which the configuration disallows. Please adjust your bump to accommodate the range or otherwise adjust the allowed range in `errorOnVersionRange`." + "js-single-json-fixture will be bumped to 0.6.0. This satisfies the range >= 0.6.0 which the configuration disallows. Please adjust your bump to accommodate the range or otherwise adjust the allowed range in `errorOnVersionRange`.", ); expect({ //@ts-expect-error @@ -164,7 +164,7 @@ describe("package file apply bump (snapshot)", () => { yield apply({ commands, config, allPackages, cwd: jsonFolder }); const modifiedPkgAFile = yield loadFile( "packages/pkg-a/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgAFile.content).toBe( "{\n" + @@ -173,18 +173,18 @@ describe("package file apply bump (snapshot)", () => { ' "dependencies": {\n' + ' "yarn-workspace-base-pkg-b": "1.1.0"\n' + " }\n" + - "}\n" + "}\n", ); const modifiedPkgBFile = yield loadFile( "packages/pkg-b/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgBFile.content).toBe( "{\n" + ' "name": "yarn-workspace-base-pkg-b",\n' + ' "version": "1.1.0"\n' + - "}\n" + "}\n", ); expect({ @@ -251,19 +251,19 @@ describe("package file apply bump (snapshot)", () => { const modifiedPkgBFile = yield loadFile( "packages/pkg-b/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgBFile.content).toBe( "{\n" + ' "name": "yarn-workspace-base-pkg-b",\n' + ' "version": "1.1.0"\n' + - "}\n" + "}\n", ); // this is an exact version dep which will be patch bumped const modifiedPkgAFile = yield loadFile( "packages/pkg-a/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgAFile.content).toBe( "{\n" + @@ -272,13 +272,13 @@ describe("package file apply bump (snapshot)", () => { ' "dependencies": {\n' + ' "yarn-workspace-base-pkg-b": "1.1.0"\n' + " }\n" + - "}\n" + "}\n", ); // this is a range dep which will not be patch bumped const modifiedPkgCFile = yield loadFile( "packages/pkg-c/package.json", - jsonFolder + jsonFolder, ); expect(modifiedPkgCFile.content).toEqual( @@ -288,7 +288,7 @@ describe("package file apply bump (snapshot)", () => { ' "dependencies": {\n' + ' "yarn-workspace-base-pkg-b": "^1.0.0"\n' + " }\n" + - "}\n" + "}\n", ); expect({ @@ -331,7 +331,7 @@ describe("package file apply bump (snapshot)", () => { yield apply({ commands, allPackages, cwd: rustFolder }); const modifiedFile = yield loadFile("Cargo.toml", rustFolder); expect(modifiedFile.content).toBe( - '[package]\nname = "rust-single-fixture"\nversion = "0.6.0"\n' + '[package]\nname = "rust-single-fixture"\nversion = "0.6.0"\n', ); expect({ @@ -371,10 +371,10 @@ describe("package file apply bump (snapshot)", () => { const applied = yield captureError( //@ts-expect-error - apply({ commands, config, allPackages, cwd: rustFolder }) + apply({ commands, config, allPackages, cwd: rustFolder }), ); expect(applied.message).toBe( - "rust-single-fixture will be bumped to 0.6.0. This satisfies the range >= 0.6.0 which the configuration disallows. Please adjust your bump to accommodate the range or otherwise adjust the allowed range in `errorOnVersionRange`." + "rust-single-fixture will be bumped to 0.6.0. This satisfies the range >= 0.6.0 which the configuration disallows. Please adjust your bump to accommodate the range or otherwise adjust the allowed range in `errorOnVersionRange`.", ); expect({ //@ts-expect-error @@ -432,12 +432,12 @@ describe("package file apply bump (snapshot)", () => { 'version = "0.6.0"\n' + "\n" + "[dependencies]\n" + - 'rust_pkg_b_fixture = "0.9.0"\n' + 'rust_pkg_b_fixture = "0.9.0"\n', ); const modifiedBPKGFile = yield loadFile("pkg-b/Cargo.toml", rustFolder); expect(modifiedBPKGFile.content).toBe( - "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.9.0"\n' + "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.9.0"\n', ); expect({ @@ -496,12 +496,12 @@ describe("package file apply bump (snapshot)", () => { 'version = "0.6.0"\n' + "\n" + "[dependencies]\n" + - 'rust_pkg_b_fixture = { version = "0.9.0", path = "../rust_pkg_b_fixture" }\n' + 'rust_pkg_b_fixture = { version = "0.9.0", path = "../rust_pkg_b_fixture" }\n', ); const modifiedBPKGFile = yield loadFile("pkg-b/Cargo.toml", rustFolder); expect(modifiedBPKGFile.content).toBe( - "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.9.0"\n' + "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.9.0"\n', ); expect({ @@ -560,12 +560,12 @@ describe("package file apply bump (snapshot)", () => { 'version = "0.6.0"\n' + "\n" + "[dependencies]\n" + - 'rust_pkg_b_fixture = "0.9"\n' + 'rust_pkg_b_fixture = "0.9"\n', ); const modifiedBPKGFile = yield loadFile("pkg-b/Cargo.toml", rustFolder); expect(modifiedBPKGFile.content).toBe( - "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.9.0"\n' + "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.9.0"\n', ); expect({ @@ -626,12 +626,12 @@ describe("package file apply bump (snapshot)", () => { 'version = "0.5.1"\n' + "\n" + "[dependencies]\n" + - 'rust_pkg_b_fixture = { version = "0.8", path = "../rust_pkg_b_fixture" }\n' + 'rust_pkg_b_fixture = { version = "0.8", path = "../rust_pkg_b_fixture" }\n', ); const modifiedBPKGFile = yield loadFile("pkg-b/Cargo.toml", rustFolder); expect(modifiedBPKGFile.content).toBe( - "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.8.9"\n' + "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.8.9"\n', ); expect({ @@ -690,12 +690,12 @@ describe("package file apply bump (snapshot)", () => { 'version = "0.6.0"\n' + "\n" + "[dependencies]\n" + - 'rust_pkg_b_fixture = { version = "0.9", path = "../rust_pkg_b_fixture" }\n' + 'rust_pkg_b_fixture = { version = "0.9", path = "../rust_pkg_b_fixture" }\n', ); const modifiedBPKGFile = yield loadFile("pkg-b/Cargo.toml", rustFolder); expect(modifiedBPKGFile.content).toBe( - "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.9.0"\n' + "[package]\n" + 'name = "rust_pkg_b_fixture"\n' + 'version = "0.9.0"\n', ); expect({ @@ -742,7 +742,7 @@ describe("package file apply bump (snapshot)", () => { "environment:\n sdk: '>=2.10.0 <3.0.0'\n" + "dependencies:\n flutter:\n sdk: flutter\n meta: any\n provider: ^4.3.2\n related_package:\n git:\n url: git@github.com:jbolda/covector.git\n ref: main\n path: __fixtures__/haha/\n" + "dev_dependencies:\n flutter_test:\n sdk: flutter\n build_runner: any\n json_serializable: any\n mobx_codegen: any\n" + - "flutter:\n assets:\n - assets/schema/\n - assets/localization/\n" + "flutter:\n assets:\n - assets/schema/\n - assets/localization/\n", ); expect({ diff --git a/packages/apply/test/changes-considering.test.ts b/packages/apply/test/changes-considering.test.ts index 30bbbb95..b91f46e0 100644 --- a/packages/apply/test/changes-considering.test.ts +++ b/packages/apply/test/changes-considering.test.ts @@ -17,20 +17,26 @@ const allPackagesWithoutRead = ({ return { name: pkgName, version: "none", - deps: (configInfo.dependencies ?? []).reduce((deps, dep) => { - const version = pkgDepVersion?.[pkgName]?.[dep] - ? pkgDepVersion[pkgName][dep] - : "none"; - deps[dep] = [{ type: "dependencies", version }]; - return deps; - }, {} as Record), + deps: (configInfo.dependencies ?? []).reduce( + (deps, dep) => { + const version = pkgDepVersion?.[pkgName]?.[dep] + ? pkgDepVersion[pkgName][dep] + : "none"; + deps[dep] = [{ type: "dependencies", version }]; + return deps; + }, + {} as Record, + ), }; - } + }, ) - .reduce((pkgs, pkg: any) => { - if (pkg.name) pkgs[pkg.name] = pkg; - return pkgs; - }, {} as Record); + .reduce( + (pkgs, pkg: any) => { + if (pkg.name) pkgs[pkg.name] = pkg; + return pkgs; + }, + {} as Record, + ); describe("list changes considering parents", () => { let restoreConsole: RestoreConsole; diff --git a/packages/apply/test/validate.test.ts b/packages/apply/test/validate.test.ts index 6cccd7d3..2445e52c 100644 --- a/packages/apply/test/validate.test.ts +++ b/packages/apply/test/validate.test.ts @@ -39,7 +39,7 @@ describe("validate apply", () => { expect( async () => //@ts-expect-error - await run(validateApply({ commands, config, cwd: jsonFolder })) + await run(validateApply({ commands, config, cwd: jsonFolder })), ).not.toThrow(); }); @@ -69,7 +69,7 @@ describe("validate apply", () => { expect.assertions(1); expect( //@ts-expect-error - async () => await validateApply({ commands, config, cwd: rustFolder }) + async () => await validateApply({ commands, config, cwd: rustFolder }), ).not.toThrow(); }); @@ -122,7 +122,7 @@ describe("validate apply", () => { expect.assertions(1); expect( //@ts-expect-error - async () => await validateApply({ commands, config, cwd: jsonFolder }) + async () => await validateApply({ commands, config, cwd: jsonFolder }), ).not.toThrow(); }); @@ -164,7 +164,7 @@ describe("validate apply", () => { expect.assertions(1); expect( //@ts-expect-error - async () => await validateApply({ commands, config, cwd: rustFolder }) + async () => await validateApply({ commands, config, cwd: rustFolder }), ).not.toThrow(); }); @@ -206,7 +206,7 @@ describe("validate apply", () => { expect.assertions(1); expect( //@ts-expect-error - async () => await validateApply({ commands, config, cwd: rustFolder }) + async () => await validateApply({ commands, config, cwd: rustFolder }), ).not.toThrow(); }); @@ -248,7 +248,7 @@ describe("validate apply", () => { expect.assertions(1); expect( //@ts-expect-error - async () => await validateApply({ commands, config, cwd: rustFolder }) + async () => await validateApply({ commands, config, cwd: rustFolder }), ).not.toThrow(); }); @@ -343,11 +343,11 @@ describe("validate apply", () => { validateApply({ commands, allPackages, - }) + }), ); expect(errored.message).toMatch( "rust_pkg_a_fixture has a dependency on rust_pkg_b_fixture, and rust_pkg_b_fixture does not have a version number. " + - "This cannot be published. Please pin it to a MAJOR.MINOR.PATCH reference." + "This cannot be published. Please pin it to a MAJOR.MINOR.PATCH reference.", ); expect({ diff --git a/packages/assemble/package.json b/packages/assemble/package.json index 511308b8..366d509a 100644 --- a/packages/assemble/package.json +++ b/packages/assemble/package.json @@ -27,9 +27,9 @@ "unified": "^9.2.1" }, "devDependencies": { - "@covector/types": "^0.0.0", - "@types/js-yaml": "^4.0.0", - "@types/lodash": "^4.14.191", + "@covector/types": "0.0.0", + "@types/js-yaml": "^4.0.5", + "@types/lodash": "^4.14.196", "fixturez": "^1.1.0", "tslib": "^2.5.0", "typescript": "^4.9.5" diff --git a/packages/assemble/src/index.ts b/packages/assemble/src/index.ts index 07b48ad4..a2eeafa9 100644 --- a/packages/assemble/src/index.ts +++ b/packages/assemble/src/index.ts @@ -51,11 +51,11 @@ export const parseChange = function* ({ typeof parsedYaml === "object" && parsedYaml !== null ? parsedYaml : {}; if (Object.keys(changeset.releases).length === 0) throw new Error( - `${file.path} didn't have any packages bumped. Please add a package bump.` + `${file.path} didn't have any packages bumped. Please add a package bump.`, ); for (const [k, v] of Object.entries( - changeset.releases as { [k: string]: CommonBumps } + changeset.releases as { [k: string]: CommonBumps }, )) { const [bump, tag] = (v as string).split(":"); (changeset.releases as { [k: string]: CommonBumps })[k] = @@ -118,19 +118,19 @@ export const compareBumps = (bumpOne: CommonBumps, bumpTwo: CommonBumps) => { const mergeReleases = ( changes: Change[], - { additionalBumpTypes = [] }: { additionalBumpTypes?: string[] } + { additionalBumpTypes = [] }: { additionalBumpTypes?: string[] }, ) => { return changes.reduce((release: { [k: string]: Release }, change) => { Object.keys(change.releases).forEach((pkg) => { const bumpOptions = ["major", "minor", "patch", "noop"].concat( - additionalBumpTypes + additionalBumpTypes, ); assertBumpType( pkg, change.releases[pkg], bumpOptions, - !change.meta ? `` : ` in ${change.meta.path}` + !change.meta ? `` : ` in ${change.meta.path}`, ); const bumpType = additionalBumpTypes.includes(change.releases[pkg]) @@ -156,14 +156,14 @@ function assertBumpType( pkgName: string, bumpType: string, bumpOptions: string[], - filenameRef: string + filenameRef: string, ) { const satisfiesAssertion = bumpOptions.includes(bumpType); if (!satisfiesAssertion) { throw new Error( `${bumpType} specified for ${pkgName} is invalid.\n` + `Try one of the following${filenameRef}: ` + - `${bumpOptions.filter((option) => option !== "noop").join(", ")}.\n` + `${bumpOptions.filter((option) => option !== "noop").join(", ")}.\n`, ); } } @@ -197,7 +197,7 @@ export const assemble = function* ({ if (preMode.prevFiles.length > 0) { const newFiles = files.reduce((newFiles: File[], file) => { const prevFile = preMode.prevFiles.find( - (filename) => file.path === filename + (filename) => file.path === filename, ); if (!prevFile) { return newFiles.concat([file]); @@ -213,7 +213,7 @@ export const assemble = function* ({ const oldFiles = files.reduce((newFiles: File[], file) => { const prevFile = preMode.prevFiles.find( - (filename) => file.path === filename + (filename) => file.path === filename, ); if (prevFile) { return newFiles.concat([file]); @@ -257,10 +257,10 @@ export const assemble = function* ({ }`; return files; }, - "" + "", ); throw Error( - `${pkg} listed in ${changesContainingError} does not exist in the .changes/config.json` + `${pkg} listed in ${changesContainingError} does not exist in the .changes/config.json`, ); } } @@ -317,7 +317,7 @@ const changeDiff = ({ diffed[pkg].type = `pre${allMergedRelease[pkg].type}`; return diffed; }, - {} + {}, ); } }; @@ -372,7 +372,7 @@ export const mergeChangesToConfig = function* ({ return pkged; }, - {} as { [k: string]: PkgVersion } + {} as { [k: string]: PkgVersion }, ); const pipeOutput: { @@ -380,7 +380,7 @@ export const mergeChangesToConfig = function* ({ } = {}; let commands: PkgVersion[] = []; for (let pkg of Object.keys( - usePackageSubset(assembledChanges.releases, filterPackages) + usePackageSubset(assembledChanges.releases, filterPackages), )) { if (!pkgCommands[pkg]) continue; @@ -404,7 +404,7 @@ export const mergeChangesToConfig = function* ({ precommand: templateCommands( pkgCommands[pkg].precommand, pipeToTemplate, - ["command", "dryRunCommand", "runFromRoot"] + ["command", "dryRunCommand", "runFromRoot"], ), command: templateCommands(pkgCommands[pkg].command, pipeToTemplate, [ "command", @@ -413,7 +413,7 @@ export const mergeChangesToConfig = function* ({ postcommand: templateCommands( pkgCommands[pkg].postcommand, pipeToTemplate, - ["command", "dryRunCommand", "runFromRoot"] + ["command", "dryRunCommand", "runFromRoot"], ), errorOnVersionRange: pkgCommands[pkg].errorOnVersionRange, }; @@ -424,7 +424,7 @@ export const mergeChangesToConfig = function* ({ if (dryRun) { console.dir("==== data piped into commands ==="); Object.keys(pipeOutput).forEach((pkg) => - console.dir({ pkg, pipe: pipeOutput[pkg].pipe }, { depth: 5 }) + console.dir({ pkg, pipe: pipeOutput[pkg].pipe }, { depth: 5 }), ); } @@ -523,7 +523,7 @@ export const mergeIntoConfig = function* ({ return pkged; }, - {} + {}, ); const pipeOutput: { @@ -572,7 +572,7 @@ export const mergeIntoConfig = function* ({ pkgCommands[pkg][`getPublishedVersion${subPublishCommand}`] : template( //@ts-expect-error no index type string - pkgCommands[pkg][`getPublishedVersion${subPublishCommand}`] + pkgCommands[pkg][`getPublishedVersion${subPublishCommand}`], )(pipeToTemplate), }), ...(!pkgCommands[pkg].assets @@ -598,7 +598,7 @@ export const mergeIntoConfig = function* ({ precommand: templateCommands( pkgCommands[pkg].precommand, pipeToTemplate, - ["command", "dryRunCommand", "runFromRoot"] + ["command", "dryRunCommand", "runFromRoot"], ), command: templateCommands(pkgCommands[pkg].command, pipeToTemplate, [ "command", @@ -607,7 +607,7 @@ export const mergeIntoConfig = function* ({ postcommand: templateCommands( pkgCommands[pkg].postcommand, pipeToTemplate, - ["command", "dryRunCommand", "runFromRoot"] + ["command", "dryRunCommand", "runFromRoot"], ), errorOnVersionRange: pkgCommands[pkg].errorOnVersionRange, releaseTag: @@ -615,7 +615,7 @@ export const mergeIntoConfig = function* ({ ? false : template( (pkgCommands[pkg].releaseTag as string | undefined) ?? - "${ pkg.pkg }-v${ pkgFile.version }" + "${ pkg.pkg }-v${ pkgFile.version }", )(pipeToTemplate), }; @@ -625,7 +625,7 @@ export const mergeIntoConfig = function* ({ if (dryRun) { console.dir("==== data piped into commands ==="); Object.keys(pipeOutput).forEach((pkg) => - console.dir({ pkg, pipe: pipeOutput[pkg].pipe }, { depth: 5 }) + console.dir({ pkg, pipe: pipeOutput[pkg].pipe }, { depth: 5 }), ); } @@ -670,7 +670,7 @@ type PossibleTemplateCommands = const templateCommands = ( command: Command | null, pipe: PipePublishTemplate | PipeVersionTemplate, - complexCommands: Extract[] + complexCommands: Extract[], ): CommandTypes[] | null => { if (command === null) return command; const commands = !Array.isArray(command) ? [command] : command; diff --git a/packages/assemble/test/assemble.test.ts b/packages/assemble/test/assemble.test.ts index 810efead..004b6203 100644 --- a/packages/assemble/test/assemble.test.ts +++ b/packages/assemble/test/assemble.test.ts @@ -173,7 +173,7 @@ describe("assemble", () => { releases: { assemble1: "patch", assemble2: "patch" }, summary: "This is a test.", }, - ]) + ]), ); expect(assembled.releases).toMatchObject({ "@namespaced/assemble2": { type: "prepatch" }, @@ -198,7 +198,7 @@ describe("assemble", () => { releases: { assemble1: "patch", assemble2: "patch" }, summary: "This is a test.", }, - ]) + ]), ); expect(assembled.releases).toMatchObject({ "@namespaced/assemble2": { type: "prepatch" }, @@ -223,7 +223,7 @@ describe("assemble", () => { releases: { assemble1: "patch", assemble2: "patch" }, summary: "This is a test.", }, - ]) + ]), ); expect(assembled.releases).toMatchObject({ assemble1: { type: "preminor" }, @@ -245,7 +245,7 @@ describe("assemble", () => { releases: { assemble1: "minor", assemble2: "patch" }, summary: "This is a test.", }, - ]) + ]), ); expect(assembled.releases).toMatchObject({ assemble1: { type: "prerelease" }, @@ -277,7 +277,7 @@ This doesn't bump much. }); } catch (e: any) { expect(e.message).toMatch( - ".changes/empty-file.md didn't have any packages bumped. Please add a package bump." + ".changes/empty-file.md didn't have any packages bumped. Please add a package bump.", ); } }); @@ -314,7 +314,7 @@ This doesn't bump much. } catch (e: any) { expect(e.message).toMatch( "housekeeping specified for assemble1 is invalid.\n" + - "Try one of the following: major, minor, patch.\n" + "Try one of the following: major, minor, patch.\n", ); } }); @@ -329,7 +329,7 @@ This doesn't bump much. } catch (e: any) { expect(e.message).toMatch( "explosions specified for @namespaced/assemble2 is invalid.\n" + - "Try one of the following: major, minor, patch, housekeeping, workflows.\n" + "Try one of the following: major, minor, patch, housekeeping, workflows.\n", ); } }); diff --git a/packages/changelog/package.json b/packages/changelog/package.json index 1f9f5e42..4f414709 100644 --- a/packages/changelog/package.json +++ b/packages/changelog/package.json @@ -24,8 +24,8 @@ "unified": "^9.2.1" }, "devDependencies": { - "@covector/types": "^0.0.0", - "@types/lodash": "^4.14.191", + "@covector/types": "0.0.0", + "@types/lodash": "^4.14.196", "tslib": "^2.5.0", "typescript": "^4.9.5" }, diff --git a/packages/changelog/src/index.ts b/packages/changelog/src/index.ts index 642fc986..46ab4325 100644 --- a/packages/changelog/src/index.ts +++ b/packages/changelog/src/index.ts @@ -30,9 +30,12 @@ export function* fillChangelogs({ }): Operation<{ [k: string]: PkgCommandResponse } | undefined> { const changelogs = yield readAllChangelogs({ applied: applied.reduce( - (final: { name: string; version: string; changelog?: File }[], current) => + ( + final: { name: string; version: string; changelog?: File }[], + current, + ) => !config.packages[current.name].path ? final : final.concat([current]), - [] + [], ), packages: config.packages, cwd, @@ -61,7 +64,7 @@ export function* fillChangelogs({ }); return pkgs; }, - pkgCommandsRan + pkgCommandsRan, ); return pkgCommandsRan; @@ -94,7 +97,7 @@ export function* pullLastChangelog({ changelogs[pkg.pkg] = pkg; return changelogs; }, - {} + {}, ); } @@ -114,7 +117,7 @@ export const pipeChangelogToCommands = async ({ }); return pkgs; }, - pkgCommandsRan + pkgCommandsRan, ); function* readAllChangelogs({ @@ -133,7 +136,7 @@ function* readAllChangelogs({ cwd, packagePath: packages[change.name].path, create, - }) + }), ); const loadedChangelogs: File[] = yield all(prepChangelogs); return loadedChangelogs.map((changelog, index) => ({ @@ -144,7 +147,7 @@ function* readAllChangelogs({ const getVersionFromApplied = ( name: string, - applied: { name: string; version: string }[] + applied: { name: string; version: string }[], ) => applied.find((pkg) => pkg.name === name)?.version; const applyChanges = ({ @@ -190,12 +193,12 @@ const applyChanges = ({ summary: string; meta?: Meta; }, - indentation: number = 4 + indentation: number = 4, ) => { // indent the summary so it fits under the new bullet point we added const summary = release.summary.replace( /\n/g, - `\n${" ".repeat(indentation)}` + `\n${" ".repeat(indentation)}`, ); if (!release.meta || (!!release.meta && !release.meta.commits)) { @@ -244,10 +247,13 @@ const applyChanges = ({ assembledChanges.releases[change.changes.name].changes .filter((c) => c.meta?.dependencies) // reduce to an object of keys to avoid duplication of deps - .reduce((acc, c) => { - c.meta!.dependencies.forEach((dep) => (acc[dep] = 1)); - return acc; - }, {} as { [k: string]: any }) + .reduce( + (acc, c) => { + c.meta!.dependencies.forEach((dep) => (acc[dep] = 1)); + return acc; + }, + {} as { [k: string]: any }, + ), ).map((dep) => { const appliedVersion = getVersionFromApplied(dep, applied); return { @@ -308,7 +314,7 @@ const applyChanges = ({ changelog.children = [].concat( changelogFirstElement, parsedAddition.children, - changelogRemainingElements + changelogRemainingElements, ); change.changelog.content = processor.stringify(changelog); } @@ -381,6 +387,6 @@ function* writeAllChangelogs({ } else { throw new Error(`Changelog not properly created: ${changes}`); } - }) + }), ); } diff --git a/packages/changelog/test/fill-changelog.test.ts b/packages/changelog/test/fill-changelog.test.ts index 99dda2c2..521958f4 100644 --- a/packages/changelog/test/fill-changelog.test.ts +++ b/packages/changelog/test/fill-changelog.test.ts @@ -80,7 +80,7 @@ describe("fills changelog", () => { "## \\[0.5.6]\n\n" + "- This is a test.\n" + "- This is another test.\n" + - "- This is the last test.\n" + "- This is the last test.\n", ); }); @@ -179,8 +179,8 @@ describe("fills changelog", () => { "# Changelog\n\n" + "## \\[0.5.6]\n\n" + "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#43](/pull/43)) This is a test.\n" + - "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#23](/pull/23)) This is another test.\n"+ - "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#9](/pull/9)) This is the last test.\n" + "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#23](/pull/23)) This is another test.\n" + + "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#9](/pull/9)) This is the last test.\n", ); }); @@ -248,7 +248,7 @@ describe("fills changelog", () => { "## \\[0.5.6]\n\n" + "- This is a test.\n" + "- This is another test.\n" + - "- This is the last test.\n" + "- This is the last test.\n", ); }); @@ -320,7 +320,7 @@ describe("fills changelog", () => { "- Fixes no-server mode not running on another machine due to fs::read_to_string usage instead of the include_str macro.\n" + "- Build no longer fails when compiling without environment variables, now the app will show an error.\n" + "- Adds desktop notifications API.\n" + - "- Properly reflect tauri.conf.json changes on app when running tauri dev.\n" + "- Properly reflect tauri.conf.json changes on app when running tauri dev.\n", ); }); }); diff --git a/packages/changelog/test/read-changelog.test.ts b/packages/changelog/test/read-changelog.test.ts index 61676c3d..142b6b73 100644 --- a/packages/changelog/test/read-changelog.test.ts +++ b/packages/changelog/test/read-changelog.test.ts @@ -133,7 +133,7 @@ describe("reads changelog", () => { "## \\[0.5.6]\n\n" + "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#43](/pull/43)) This is a test.\n" + "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#23](/pull/23)) This is another test.\n" + - "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#9](/pull/9)) This is the last test.\n" + "- [`3ca0504`](/commit/3ca05042c51821d229209e18391535c266b6b200)([#9](/pull/9)) This is the last test.\n", ); }); @@ -227,7 +227,7 @@ describe("reads changelog", () => { "- This is the final test.\n\n" + "### Bugs\n\n" + "- This is a test.\n" + - "- This is another test.\n" + "- This is another test.\n", ); }); }); diff --git a/packages/command/package.json b/packages/command/package.json index 10d642a2..cc4c44a1 100644 --- a/packages/command/package.json +++ b/packages/command/package.json @@ -16,12 +16,12 @@ "prepublishOnly": "tsc -b" }, "dependencies": { - "@effection/process": "^2.1.2", + "@effection/process": "^2.1.3", "effection": "^2.0.6", "strip-ansi": "6.0.1" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "tslib": "^2.5.0", "typescript": "^4.9.5" }, diff --git a/packages/command/src/index.ts b/packages/command/src/index.ts index 17daa854..4d3c473b 100644 --- a/packages/command/src/index.ts +++ b/packages/command/src/index.ts @@ -161,7 +161,7 @@ function* executeEachCommand({ console.log( `dryRun >> ${pkg.pkg} [${commandPrefix}${command}${ runningCommand.runFromRoot === true ? " run from the cwd" : "" - }]: ${runningCommand.command}` + }]: ${runningCommand.command}`, ); } } @@ -196,7 +196,7 @@ function* useFunction({ } request to ${url} returned errors: ${JSON.stringify( response.errors, null, - 2 + 2, )}`, }); } @@ -299,7 +299,7 @@ export function* confirmCommandsToRun({ console.log( `Checking if ${pkg.pkg}${ !pkg.pkgFile ? "" : `@${pkg.pkgFile.version}` - } is already published with built-in ${getPublishedVersion.use}` + } is already published with built-in ${getPublishedVersion.use}`, ); try { @@ -315,13 +315,13 @@ export function* confirmCommandsToRun({ throw new Error( `This configuration is not supported for getPublishedVersion on ${ pkg.pkg - }: ${JSON.stringify(getPublishedVersion, null, 2)}` + }: ${JSON.stringify(getPublishedVersion, null, 2)}`, ); } } if (pkg.pkgFile && pkg.pkgFile.version === version) { console.log( - `${pkg.pkg}@${pkg.pkgFile.version} is already published. Skipping.` + `${pkg.pkg}@${pkg.pkgFile.version} is already published. Skipping.`, ); // early return if published already continue; @@ -365,7 +365,7 @@ export const runCommand = function* ({ { cwd: path.join(cwd, pkgPath), }, - log + log, ); return ran.out; @@ -374,7 +374,7 @@ export const runCommand = function* ({ export const sh = function* ( command: string, options: { [k: string]: any }, - log: false | string + log: false | string, ): Operation<{ result: Number; stdout: string; stderr: string; out: string }> { let out = ""; let stdout = ""; @@ -403,7 +403,7 @@ export const sh = function* ( out += chunk.toString(); stderr += chunk.toString(); if (log !== false) console.error(chunk.toString().trim()); - }) + }), ); yield spawn( @@ -411,7 +411,7 @@ export const sh = function* ( out += chunk.toString(); stdout += chunk.toString(); if (log !== false) console.log(chunk.toString().trim()); - }) + }), ); const result = yield child.expect(); diff --git a/packages/command/test/commandFailure.test.ts b/packages/command/test/commandFailure.test.ts index 96806f1b..ea9b0762 100644 --- a/packages/command/test/commandFailure.test.ts +++ b/packages/command/test/commandFailure.test.ts @@ -34,7 +34,7 @@ describe("attemptCommand fails", () => { }, ], dryRun: false, - }) + }), ); expect(errored.message).toBe("spawn boop ENOENT"); @@ -54,7 +54,7 @@ describe("attemptCommand fails", () => { }, ], dryRun: false, - }) + }), ); const errorMessage = "spawn boop ENOENT"; @@ -69,13 +69,13 @@ describe("attemptCommand fails", () => { expect(errored.message).toBe(errorMessage); } else { expect((console.error as any).mock.calls[0][0].message).toBe( - errorMessage + errorMessage, ); expect((console.error as any).mock.calls[1][0].message).toBe( - errorMessage + errorMessage, ); expect( - (console.error as any).mock.calls?.[2]?.[0]?.message + (console.error as any).mock.calls?.[2]?.[0]?.message, ).toBeUndefined(); expect(errored.message).toBe(errorMessage); } diff --git a/packages/command/test/confirmCommandsToRun.test.ts b/packages/command/test/confirmCommandsToRun.test.ts index 55b0d0f3..19b0a7eb 100644 --- a/packages/command/test/confirmCommandsToRun.test.ts +++ b/packages/command/test/confirmCommandsToRun.test.ts @@ -85,7 +85,7 @@ describe("confirmCommandsToRun", () => { expect(commandsToRun).toEqual( expect.arrayContaining([ expect.objectContaining({ pkg: "effection" }), - ]) + ]), ); }); }); @@ -142,7 +142,7 @@ describe("confirmCommandsToRun", () => { ]); expect(commandsToRun).toEqual( - expect.arrayContaining([expect.objectContaining({ pkg: "tauri" })]) + expect.arrayContaining([expect.objectContaining({ pkg: "tauri" })]), ); }); }); @@ -208,7 +208,7 @@ describe("confirmCommandsToRun", () => { expect(commandsToRun).toEqual( expect.arrayContaining([ expect.objectContaining({ pkg: "effection" }), - ]) + ]), ); }); }); @@ -270,7 +270,7 @@ describe("confirmCommandsToRun", () => { ]); expect(commandsToRun).toEqual( - expect.arrayContaining([expect.objectContaining({ pkg: "tauri" })]) + expect.arrayContaining([expect.objectContaining({ pkg: "tauri" })]), ); }); }); diff --git a/packages/command/test/fetchCommand.test.ts b/packages/command/test/fetchCommand.test.ts index 5e94a748..fd5b6ec5 100644 --- a/packages/command/test/fetchCommand.test.ts +++ b/packages/command/test/fetchCommand.test.ts @@ -81,11 +81,11 @@ describe("fetchCommand", () => { command: "publish", cwd: "", dryRun: false, - }) + }), ); expect(errored.message).toEqual( - "effection request to https://registry.npmjs.com/effection/0.5.32 returned code 404: Not Found" + "effection request to https://registry.npmjs.com/effection/0.5.32 returned code 404: Not Found", ); }); @@ -111,12 +111,12 @@ describe("fetchCommand", () => { command: "publish", cwd: "", dryRun: false, - }) + }), ); expect(console.error as any).toBeCalledTimes(2); expect(errored.message).toEqual( - "effection request to https://registry.npmjs.com/effection/0.5.32 returned code 404: Not Found" + "effection request to https://registry.npmjs.com/effection/0.5.32 returned code 404: Not Found", ); }); }); @@ -168,7 +168,7 @@ describe("fetchCommand", () => { command: "publish", cwd: "", dryRun: false, - }) + }), ); expect(errored.message).toEqual( @@ -176,7 +176,7 @@ describe("fetchCommand", () => { { "detail": "crate \`tauri\` does not have a version \`0.12.0\`" } -]` +]`, ); }); @@ -202,7 +202,7 @@ describe("fetchCommand", () => { command: "publish", cwd: "", dryRun: false, - }) + }), ); expect(console.error as any).toBeCalledTimes(2); @@ -211,7 +211,7 @@ describe("fetchCommand", () => { { "detail": "crate \`tauri\` does not have a version \`0.12.0\`" } -]` +]`, ); }); }); diff --git a/packages/command/test/sh.test.ts b/packages/command/test/sh.test.ts index 043e4dbf..a824d6f3 100644 --- a/packages/command/test/sh.test.ts +++ b/packages/command/test/sh.test.ts @@ -20,7 +20,7 @@ describe("sh", () => { Usage: -` +`, ); }); @@ -66,7 +66,7 @@ Usage: const { out } = yield sh( "echo this thing | echo but actually this", { shell: true }, - false + false, ); expect(out).toBe("but actually this"); }); @@ -75,7 +75,7 @@ Usage: const { out } = yield sh( "echo this thing | echo but actually this", {}, - false + false, ); expect(out).toBe("but actually this"); }); @@ -89,7 +89,7 @@ Usage: const { out } = yield sh( "echo this thing | echo but actually this", { shell: true }, - false + false, ); // this should always use git bash, same as defining it @@ -100,7 +100,7 @@ Usage: const { out } = yield sh( "echo this thing | echo but actually this", {}, - false + false, ); // fallback is whichever shell this is run from @@ -116,7 +116,7 @@ Usage: const { out } = yield sh( "echo this thing | echo but actually this", { shell: "cmd" }, - false + false, ); // should act like the fallback expect(out).toBe("but actually this"); @@ -126,7 +126,7 @@ Usage: const { out } = yield sh( "echo this thing | echo but actually this", { shell: "bash" }, - false + false, ); // can handle pipes just fine, works like other OS expect(out).toBe("but actually this"); @@ -137,12 +137,12 @@ Usage: sh( "echo this thing | echo but actually this", { shell: "pwsh" }, - false - ) + false, + ), ); // pwsh doesn't handle pipes with echo expect(result.message).toBe( - "spawn echo this thing | echo but actually this ENOENT" + "spawn echo this thing | echo but actually this ENOENT", ); }, 6000); // increase timeout to 60s, windows seems to take forever }); diff --git a/packages/covector/package.json b/packages/covector/package.json index 3cb50fb7..7a422b45 100644 --- a/packages/covector/package.json +++ b/packages/covector/package.json @@ -27,10 +27,10 @@ "effection": "^2.0.6", "globby": "^11.1.0", "inquirer": "^8.2.5", - "yargs": "^17.7.0" + "yargs": "^17.7.2" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "@types/inquirer": "^8.2.6", "fixturez": "^1.1.0", "tslib": "^2.5.0", diff --git a/packages/covector/src/arbitrary.ts b/packages/covector/src/arbitrary.ts index 4414ac1e..33f93e74 100644 --- a/packages/covector/src/arbitrary.ts +++ b/packages/covector/src/arbitrary.ts @@ -100,7 +100,7 @@ export function* arbitrary({ }; return pkgs; }, - {} + {}, ); pkgCommandsRan = yield pipeChangelogToCommands({ diff --git a/packages/covector/src/cli.ts b/packages/covector/src/cli.ts index 885efdde..ca7745ce 100644 --- a/packages/covector/src/cli.ts +++ b/packages/covector/src/cli.ts @@ -49,7 +49,7 @@ function parseOptions(argv: readonly string[]): { .demandCommand(1) .help() .epilogue( - "For more information on covector, see: https://www.github.com/jbolda/covector" + "For more information on covector, see: https://www.github.com/jbolda/covector", ) .parse(argv); diff --git a/packages/covector/src/init.ts b/packages/covector/src/init.ts index 9d58ecd5..a7bdabd1 100644 --- a/packages/covector/src/init.ts +++ b/packages/covector/src/init.ts @@ -25,7 +25,7 @@ export const init = function* init({ let pkgManagers: { [k: string]: boolean } = {}; let gitURL: boolean | string = false; const pkgFiles: PackageFile[] = yield all( - pkgs.map((pkg: string) => readPkgFile({ file: pkg, nickname: pkg, cwd })) + pkgs.map((pkg: string) => readPkgFile({ file: pkg, nickname: pkg, cwd })), ); for (let pkgFile of pkgFiles) { @@ -53,7 +53,7 @@ export const init = function* init({ 0, repoURL.includes(".git", repoURL.length - 5) ? repoURL.length - 4 - : repoURL.length + : repoURL.length, ) : ""; if (tryURL !== "") { @@ -156,17 +156,17 @@ export const init = function* init({ try { const testOpen = yield fs.open( path.posix.join(cwd, changeFolder, "config.json"), - "r" + "r", ); console.log( - `The config.json exists in ${changeFolder}, skipping creation.` + `The config.json exists in ${changeFolder}, skipping creation.`, ); yield testOpen.close(); } catch (e) { console.log("Writing out the config file."); yield fs.writeFile( path.posix.join(cwd, changeFolder, "config.json"), - JSON.stringify(config, null, 2) + JSON.stringify(config, null, 2), ); } @@ -174,7 +174,7 @@ export const init = function* init({ try { const testOpen = yield fs.open( path.posix.join(cwd, changeFolder, "readme.md"), - "r" + "r", ); console.log(`The readme.md exists in ${changeFolder}, skipping creation.`); yield testOpen.close(); @@ -189,7 +189,7 @@ export const init = function* init({ try { const testOpen: Dir = yield fs.opendir( - path.posix.join(cwd, "./.github/workflows/") + path.posix.join(cwd, "./.github/workflows/"), ); console.log(`The .github/workflows folder exists, skipping creation.`); yield testOpen.close(); @@ -204,19 +204,19 @@ export const init = function* init({ try { const testOpen = yield fs.open( path.posix.join(cwd, ".github", "workflows", "covector-status.yml"), - "r" + "r", ); console.log( - `The status workflow exists in ./.github/workflows, skipping creation.` + `The status workflow exists in ./.github/workflows, skipping creation.`, ); yield testOpen.close(); } catch (e) { console.log( - "Writing out covector-status.yml to give you a covector update on PR." + "Writing out covector-status.yml to give you a covector update on PR.", ); yield fs.writeFile( path.posix.join(cwd, ".github", "workflows", "covector-status.yml"), - githubStatusWorkflow({ version: covectorVersion }) + githubStatusWorkflow({ version: covectorVersion }), ); } @@ -227,30 +227,30 @@ export const init = function* init({ cwd, ".github", "workflows", - "covector-version-or-publish.yml" + "covector-version-or-publish.yml", ), - "r" + "r", ); console.log( - `The version/publish workflow exists in ./.github/workflows, skipping creation.` + `The version/publish workflow exists in ./.github/workflows, skipping creation.`, ); yield testOpen.close(); } catch (e) { console.log( - "Writing out covector-version-or-publish.yml to version and publish your packages." + "Writing out covector-version-or-publish.yml to version and publish your packages.", ); yield fs.writeFile( path.posix.join( cwd, ".github", "workflows", - "covector-version-or-publish.yml" + "covector-version-or-publish.yml", ), githubPublishWorkflow({ pkgManagers, branchName: answers["branch name"], version: covectorVersion, - }) + }), ); } } @@ -264,7 +264,7 @@ const packageFiles = async ({ cwd = process.cwd() }) => { { cwd, gitignore: true, - } + }, ); }; @@ -403,12 +403,12 @@ jobs: registry-url: 'https://registry.npmjs.org'` : "" }${ - pkgManagers.rust - ? ` + pkgManagers.rust + ? ` - name: cargo login run: cargo login \${{ secrets.crate_token }}` - : "" -} + : "" + } - name: git config run: | git config --global user.name "\${{ github.event.pusher.name }}" @@ -422,11 +422,11 @@ jobs: NODE_AUTH_TOKEN: \${{ secrets.NPM_TOKEN }}` : "" }${ - pkgManagers.rust - ? ` + pkgManagers.rust + ? ` CARGO_AUDIT_OPTIONS: \${{ secrets.CARGO_AUDIT_OPTIONS }}` - : "" -} + : "" + } with: token: \${{ secrets.GITHUB_TOKEN }} command: 'version-or-publish' diff --git a/packages/covector/src/preview.ts b/packages/covector/src/preview.ts index 8f9647c6..a2abf128 100644 --- a/packages/covector/src/preview.ts +++ b/packages/covector/src/preview.ts @@ -94,7 +94,7 @@ export function* preview({ applied: string | false; }; }, - pkg: string + pkg: string, ) => { pkgs[pkg] = { precommand: false, @@ -104,7 +104,7 @@ export function* preview({ }; return pkgs; }, - {} + {}, ); pkgCommandsRan = yield attemptCommands({ @@ -136,12 +136,12 @@ export function* preview({ applied: object; }; }, - result: { name: string } + result: { name: string }, ) => { pkgs[result.name].applied = result; return pkgs; }, - pkgCommandsRan + pkgCommandsRan, ); pkgCommandsRan = yield attemptCommands({ @@ -187,7 +187,7 @@ export function* preview({ }; return pkgs; }, - {} + {}, ); pkgCommandsRan = yield attemptCommands({ diff --git a/packages/covector/src/publish.ts b/packages/covector/src/publish.ts index cb338450..75f5812a 100644 --- a/packages/covector/src/publish.ts +++ b/packages/covector/src/publish.ts @@ -100,7 +100,7 @@ export function* publish({ }; return pkgs; }, - {} + {}, ); pkgCommandsRan = yield pipeChangelogToCommands({ diff --git a/packages/covector/src/status.ts b/packages/covector/src/status.ts index 86007944..138715c2 100644 --- a/packages/covector/src/status.ts +++ b/packages/covector/src/status.ts @@ -89,8 +89,8 @@ export function* status({ ? `is 1 package` : `is ${commandsToRun.length} packages` } ready to publish which includes${commandsToRun.map( - (pkg) => ` ${pkg.pkg}@${pkg.pkgFile?.version}` - )}` + (pkg) => ` ${pkg.pkg}@${pkg.pkgFile?.version}`, + )}`, ); } @@ -102,7 +102,7 @@ export function* status({ console.info("There are no changes."); console.log( "We have previously released the changes in these files:", - changesPaths + changesPaths, ); return { pkgReadyToPublish: [], response: "No changes." }; } else { @@ -146,7 +146,7 @@ export function* status({ Object.keys(assembledChanges.releases).length } changes which include${Object.keys(assembledChanges.releases).map( (release) => - ` ${release} with ${assembledChanges.releases[release].type}` + ` ${release} with ${assembledChanges.releases[release].type}`, )}`, }; } diff --git a/packages/covector/src/version.ts b/packages/covector/src/version.ts index ecd090fb..6b366c49 100644 --- a/packages/covector/src/version.ts +++ b/packages/covector/src/version.ts @@ -94,7 +94,7 @@ export function* version({ applied: string | false; }; }, - pkg: string + pkg: string, ) => { pkgs[pkg] = { precommand: false, @@ -104,7 +104,7 @@ export function* version({ }; return pkgs; }, - {} + {}, ); pkgCommandsRan = yield attemptCommands({ @@ -136,12 +136,12 @@ export function* version({ applied: object; }; }, - result: { name: string } + result: { name: string }, ) => { pkgs[result.name].applied = result; return pkgs; }, - pkgCommandsRan + pkgCommandsRan, ); pkgCommandsRan = yield fillChangelogs({ diff --git a/packages/covector/test/command-init.test.ts b/packages/covector/test/command-init.test.ts index 134becf2..17d18aeb 100644 --- a/packages/covector/test/command-init.test.ts +++ b/packages/covector/test/command-init.test.ts @@ -18,7 +18,7 @@ describe("integration test for init command", () => { /^\? What is the name of your default branch\? \(main\)$/, "pressEnter", ], - ] + ], ); expect(stderr).toBe(""); @@ -43,7 +43,7 @@ describe("integration test for init command", () => { /\? What is the name of your default branch\? \(main\)$/, "pressEnter", ], - ] + ], ); expect(stderr).toBe(""); @@ -54,7 +54,7 @@ describe("integration test for init command", () => { const config = yield loadFile("./.changes/config.json", fullIntegration); expect(config.path).toEqual(".changes/config.json"); expect(JSON.parse(config.content).gitSiteUrl).toBe( - "https://www.github.com/jbolda/covector/" + "https://www.github.com/jbolda/covector/", ); }, 25000); // windows takes some time }); diff --git a/packages/covector/test/command-status.test.ts b/packages/covector/test/command-status.test.ts index 3c60e018..f1ae1d4b 100644 --- a/packages/covector/test/command-status.test.ts +++ b/packages/covector/test/command-status.test.ts @@ -8,13 +8,13 @@ describe("integration test for init command", () => { const fullIntegration = f.copy("integration.js-with-complex-commands"); const { stdout, stderr, status } = yield runCommand( command("status", fullIntegration), - fullIntegration + fullIntegration, ); expect(stderr).toBe(""); expect(stdout).toBe( "There are no changes.\n" + - "There is 2 packages ready to publish which includes package-one@2.3.1, package-two@1.9.0" + "There is 2 packages ready to publish which includes package-one@2.3.1, package-two@1.9.0", ); expect(status.code).toBe(0); }, 10000); diff --git a/packages/covector/test/complex.test.ts b/packages/covector/test/complex.test.ts index 54d5611a..f235ea20 100644 --- a/packages/covector/test/complex.test.ts +++ b/packages/covector/test/complex.test.ts @@ -24,13 +24,13 @@ describe("integration test for complex commands", () => { }).toMatchSnapshot(); const changelogTauriCore = yield captureError( - loadFile(path.join("/tauri/", "CHANGELOG.md"), fullIntegration) + loadFile(path.join("/tauri/", "CHANGELOG.md"), fullIntegration), ); expect(changelogTauriCore.effectionTrace[0].state).toEqual("erroring"); expect(changelogTauriCore.effectionTrace[1].state).toEqual("erroring"); const changelogTaurijs = yield captureError( - loadFile(path.join("/cli/tauri.js/", "CHANGELOG.md"), fullIntegration) + loadFile(path.join("/cli/tauri.js/", "CHANGELOG.md"), fullIntegration), ); expect(changelogTaurijs.effectionTrace[0].state).toEqual("erroring"); expect(changelogTaurijs.effectionTrace[1].state).toEqual("erroring"); @@ -101,13 +101,13 @@ describe("integration test for complex commands", () => { }).toMatchSnapshot(); const changelogTauriCore = yield captureError( - loadFile(path.join("/tauri/", "CHANGELOG.md"), fullIntegration) + loadFile(path.join("/tauri/", "CHANGELOG.md"), fullIntegration), ); expect(changelogTauriCore.effectionTrace[0].state).toEqual("erroring"); expect(changelogTauriCore.effectionTrace[1].state).toEqual("erroring"); const changelogTaurijs = yield captureError( - loadFile(path.join("/cli/tauri.js/", "CHANGELOG.md"), fullIntegration) + loadFile(path.join("/cli/tauri.js/", "CHANGELOG.md"), fullIntegration), ); expect(changelogTaurijs.effectionTrace[0].state).toEqual("erroring"); expect(changelogTaurijs.effectionTrace[1].state).toEqual("erroring"); diff --git a/packages/covector/test/dry-run.test.ts b/packages/covector/test/dry-run.test.ts index 73bd626f..8c889bae 100644 --- a/packages/covector/test/dry-run.test.ts +++ b/packages/covector/test/dry-run.test.ts @@ -42,13 +42,13 @@ describe("integration test in --dry-run mode", () => { }).toMatchSnapshot(); const changelogTauriCore = yield captureError( - loadFile(path.join("/tauri/", "CHANGELOG.md"), fullIntegration) + loadFile(path.join("/tauri/", "CHANGELOG.md"), fullIntegration), ); expect(changelogTauriCore.effectionTrace[0].state).toEqual("erroring"); expect(changelogTauriCore.effectionTrace[1].state).toEqual("erroring"); const changelogTaurijs = yield captureError( - loadFile(path.join("/cli/tauri.js/", "CHANGELOG.md"), fullIntegration) + loadFile(path.join("/cli/tauri.js/", "CHANGELOG.md"), fullIntegration), ); expect(changelogTaurijs.effectionTrace[0].state).toEqual("erroring"); expect(changelogTaurijs.effectionTrace[1].state).toEqual("erroring"); diff --git a/packages/covector/test/helpers.ts b/packages/covector/test/helpers.ts index 8bb6b747..3d140cdc 100644 --- a/packages/covector/test/helpers.ts +++ b/packages/covector/test/helpers.ts @@ -17,7 +17,7 @@ type Responses = [q: string | RegExp, a: string][]; export function* runCommand( command: string, cwd: string, - responses: Responses = [] + responses: Responses = [], ): Operation<{ stdout: string; stderr: string; @@ -50,13 +50,13 @@ export function* runCommand( } else { runCommand.stdin.send(pressEnter); } - }) + }), ); yield spawn( runCommand.stderr.forEach((chunk) => { stderrBuffer = Buffer.concat([stderrBuffer, chunk]); - }) + }), ); let status = yield withTimeout(24900, runCommand.join()); diff --git a/packages/covector/test/main.test.ts b/packages/covector/test/main.test.ts index f4cf5842..4f33603b 100644 --- a/packages/covector/test/main.test.ts +++ b/packages/covector/test/main.test.ts @@ -56,10 +56,10 @@ describe("integration test in production mode", () => { throw new Error("We are expecting an object here."); expect((console.info as any).mock.calls.flat()).toContain( - ".changes/first-change.md was deleted" + ".changes/first-change.md was deleted", ); expect((console.info as any).mock.calls.flat()).toContain( - ".changes/second-change.md was deleted" + ".changes/second-change.md was deleted", ); expect({ consoleLog: (console.log as any).mock.calls, @@ -68,23 +68,23 @@ describe("integration test in production mode", () => { const changelogTauriCore = yield loadFile( path.join("/tauri/", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); expect(changelogTauriCore.content).toBe( "# Changelog\n\n" + "## \\[0.6.0]\n\n" + - "- Summary about the changes in tauri\n" + "- Summary about the changes in tauri\n", ); const changelogTaurijs = yield loadFile( path.join("/cli/tauri.js/", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); expect(changelogTaurijs.content).toBe( "# Changelog\n\n" + "## \\[0.6.3]\n\n" + "### Dependencies\n\n" + - "- Upgraded to `tauri@0.6.0`\n" + "- Upgraded to `tauri@0.6.0`\n", ); }); @@ -98,10 +98,10 @@ describe("integration test in production mode", () => { throw new Error("We are expecting an object here."); expect((console.info as any).mock.calls.flat()).toContain( - ".changes/first-change.md was deleted" + ".changes/first-change.md was deleted", ); expect((console.info as any).mock.calls.flat()).toContain( - ".changes/second-change.md was deleted" + ".changes/second-change.md was deleted", ); expect({ consoleLog: (console.log as any).mock.calls, @@ -113,12 +113,12 @@ describe("integration test in production mode", () => { "# Changelog\n\n" + "## \\[0.4.0]\n\n" + "- Summary about the changes in test_app\n" + - "- Summary about the changes again(!) in test_app\n" + "- Summary about the changes again(!) in test_app\n", ); const versionFile = yield loadFile("pubspec.yaml", fullIntegration); expect(versionFile.content).toEqual( - expect.stringContaining("version: 0.4.0\n") + expect.stringContaining("version: 0.4.0\n"), ); }); @@ -132,10 +132,10 @@ describe("integration test in production mode", () => { throw new Error("We are expecting an object here."); expect((console.info as any).mock.calls.flat()).toContain( - ".changes/first-change.md was deleted" + ".changes/first-change.md was deleted", ); expect((console.info as any).mock.calls.flat()).toContain( - ".changes/second-change.md was deleted" + ".changes/second-change.md was deleted", ); expect({ consoleLog: (console.log as any).mock.calls, @@ -144,22 +144,22 @@ describe("integration test in production mode", () => { const changelog = yield loadFile( path.join("dart", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); expect(changelog.content).toBe( "# Changelog\n\n" + "## \\[0.3.2]\n\n" + "### Dependencies\n\n" + "- Upgraded to `test_app_two@0.2.0`\n" + - "- Upgraded to `test_app_three@3.8.98`\n" + "- Upgraded to `test_app_three@3.8.98`\n", ); const versionFile = yield loadFile( path.join("dart", "pubspec.yaml"), - fullIntegration + fullIntegration, ); expect(versionFile.content).toEqual( - expect.stringContaining("version: 0.3.2\n") + expect.stringContaining("version: 0.3.2\n"), ); }); @@ -173,10 +173,10 @@ describe("integration test in production mode", () => { throw new Error("We are expecting an object here."); expect((console.info as any).mock.calls.flat()).toContain( - ".changes/first-change.md was deleted" + ".changes/first-change.md was deleted", ); expect((console.info as any).mock.calls.flat()).toContain( - ".changes/second-change.md was deleted" + ".changes/second-change.md was deleted", ); expect({ consoleLog: (console.log as any).mock.calls, @@ -188,7 +188,7 @@ describe("integration test in production mode", () => { "# Changelog\n\n" + "## \\[6.2.0]\n\n" + "- Summary about the changes in general-pkg\n" + - "- A general summary about the generally changes in general-pkg generally\n" + "- A general summary about the generally changes in general-pkg generally\n", ); const versionFile = yield loadFile("VERSION", fullIntegration); @@ -250,7 +250,7 @@ describe("integration test in production mode", () => { it("fails, tries and fails two more times with error", function* () { const fullIntegration = f.copy( - "integration.js-with-retrying-publish-error" + "integration.js-with-retrying-publish-error", ); const covectored = covector({ command: "publish", @@ -261,7 +261,7 @@ describe("integration test in production mode", () => { const errorCount = (console.error as any).mock.calls .flat() .filter( - (c: string) => typeof c === "string" && c.includes("ENEEDAUTH") + (c: string) => typeof c === "string" && c.includes("ENEEDAUTH"), ).length; expect(errorCount).toBe(3); @@ -346,7 +346,7 @@ describe("integration test in production mode", () => { return Object.keys(config.pkgManagers).reduce( (finalConfig, pkgManager) => { finalConfig.pkgManagers[pkgManager] = Object.keys( - config.pkgManagers[pkgManager] + config.pkgManagers[pkgManager], ).reduce((pm, p) => { if (p.startsWith("publish")) { const functionInject = async () => console.log("deboop"); @@ -367,7 +367,7 @@ describe("integration test in production mode", () => { return finalConfig; }, - config + config, ); }; @@ -388,7 +388,7 @@ describe("integration test in production mode", () => { modifyConfig: injectPublishFunctions([ async (pkg: any) => console.log( - `push log into publish for ${pkg.pkg}-v${pkg.pkgFile.version}` + `push log into publish for ${pkg.pkg}-v${pkg.pkgFile.version}`, ), async () => console.log(`push another log`), ]), diff --git a/packages/covector/test/preMode.test.ts b/packages/covector/test/preMode.test.ts index 7319b4fb..a1f8a09e 100644 --- a/packages/covector/test/preMode.test.ts +++ b/packages/covector/test/preMode.test.ts @@ -18,7 +18,7 @@ describe("integration test with preMode `on`", () => { "tag": "beta", "changes": [${prevChanges.length === 0 ? "" : prevChanges.join(", ")}] } - ` + `, ); beforeEach(() => { @@ -47,25 +47,25 @@ describe("integration test with preMode `on`", () => { const changelogTauriCore = yield loadFile( path.join("/tauri/", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); // has a direct minor from 0.5.2 expect(changelogTauriCore.content).toBe( "# Changelog\n\n" + "## \\[0.6.0-beta.0]\n\n" + - "- Summary about the changes in tauri\n" + "- Summary about the changes in tauri\n", ); const changelogTaurijs = yield loadFile( path.join("/cli/tauri.js/", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); // tauri.js through a dep bump expect(changelogTaurijs.content).toBe( "# Changelog\n\n" + "## \\[0.6.3-beta.0]\n\n" + "### Dependencies\n\n" + - "- Upgraded to `tauri@0.6.0-beta.0`\n" + "- Upgraded to `tauri@0.6.0-beta.0`\n", ); }); @@ -80,17 +80,17 @@ describe("integration test with preMode `on`", () => { const changelogTauriCoreOne = yield loadFile( path.join("/tauri/", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); expect(changelogTauriCoreOne.content).toBe( "# Changelog\n\n" + "## \\[0.6.0-beta.0]\n\n" + - "- Summary about the changes in tauri\n" + "- Summary about the changes in tauri\n", ); const changelogTaurijsOne = yield loadFile( path.join("/cli/tauri.js/", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); // tauri.js does not have a change file directly or through a dep bump // so it should remain the same @@ -98,15 +98,15 @@ describe("integration test with preMode `on`", () => { "# Changelog\n\n" + "## \\[0.6.3-beta.0]\n\n" + "### Dependencies\n\n" + - "- Upgraded to `tauri@0.6.0-beta.0`\n" + "- Upgraded to `tauri@0.6.0-beta.0`\n", ); const preOne = yield loadFile( path.join(".changes", "pre.json"), - fullIntegration + fullIntegration, ); expect(preOne.content).toBe( - '{\n "tag": "beta",\n "changes": [\n ".changes/first-change.md",\n ".changes/second-change.md"\n ]\n}\n' + '{\n "tag": "beta",\n "changes": [\n ".changes/first-change.md",\n ".changes/second-change.md"\n ]\n}\n', ); // add change file @@ -117,16 +117,16 @@ describe("integration test with preMode `on`", () => { --- Boop again. -` +`, ); // double check the write and formatting const newChange = yield loadFile( path.join(".changes", "third-change.md"), - fullIntegration + fullIntegration, ); expect(newChange.content).toBe( - "---\n" + '"tauri-api": patch\n' + "---\n\n" + "Boop again.\n" + "---\n" + '"tauri-api": patch\n' + "---\n\n" + "Boop again.\n", ); const covectoredTwo = (yield covector({ @@ -136,7 +136,7 @@ Boop again. const changelogTauriCoreTwo = yield loadFile( path.join("/tauri/", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); expect(changelogTauriCoreTwo.content).toBe( "# Changelog\n\n" + @@ -145,12 +145,12 @@ Boop again. "- Upgraded to `tauri-api@0.5.2-beta.0`\n" + "\n" + "## \\[0.6.0-beta.0]\n\n" + - "- Summary about the changes in tauri\n" + "- Summary about the changes in tauri\n", ); const changelogTaurijsTwo = yield loadFile( path.join("/cli/tauri.js/", "CHANGELOG.md"), - fullIntegration + fullIntegration, ); // tauri.js does not have a change file directly or through a dep bump // so it should remain the same @@ -162,15 +162,15 @@ Boop again. "\n" + "## \\[0.6.3-beta.0]\n\n" + "### Dependencies\n\n" + - "- Upgraded to `tauri@0.6.0-beta.0`\n" + "- Upgraded to `tauri@0.6.0-beta.0`\n", ); const preTwo = yield loadFile( path.join(".changes", "pre.json"), - fullIntegration + fullIntegration, ); expect(preTwo.content).toBe( - '{\n "tag": "beta",\n "changes": [\n ".changes/first-change.md",\n ".changes/second-change.md",\n ".changes/third-change.md"\n ]\n}\n' + '{\n "tag": "beta",\n "changes": [\n ".changes/first-change.md",\n ".changes/second-change.md",\n ".changes/third-change.md"\n ]\n}\n', ); if (typeof covectoredOne !== "object") @@ -205,13 +205,13 @@ Boop again. }).toMatchSnapshot(); const changelogTauriCore = yield captureError( - loadFile(path.join("/tauri/", "CHANGELOG.md"), fullIntegration) + loadFile(path.join("/tauri/", "CHANGELOG.md"), fullIntegration), ); expect(changelogTauriCore.effectionTrace[0].state).toEqual("erroring"); expect(changelogTauriCore.effectionTrace[1].state).toEqual("erroring"); const changelogTaurijs = yield captureError( - loadFile(path.join("/cli/tauri.js/", "CHANGELOG.md"), fullIntegration) + loadFile(path.join("/cli/tauri.js/", "CHANGELOG.md"), fullIntegration), ); expect(changelogTaurijs.effectionTrace[0].state).toEqual("erroring"); expect(changelogTaurijs.effectionTrace[1].state).toEqual("erroring"); diff --git a/packages/files/package.json b/packages/files/package.json index 7f5a7fdc..bf6e1bd5 100644 --- a/packages/files/package.json +++ b/packages/files/package.json @@ -19,14 +19,14 @@ "@iarna/toml": "^2.2.5", "@tauri-apps/toml": "^2.2.4", "globby": "^11.1.0", - "js-yaml": "^4.0.0", - "semver": "^7.3.8", + "js-yaml": "^4.1.0", + "semver": "^7.5.4", "zod": "^3.21.4", "zod-validation-error": "^1.3.1" }, "devDependencies": { - "@covector/types": "^0.0.0", - "@types/js-yaml": "^4.0.0", + "@covector/types": "0.0.0", + "@types/js-yaml": "^4.0.5", "@types/node": "^16.18.12", "@types/semver": "^7.3.13", "fixturez": "^1.1.0", diff --git a/packages/files/src/index.ts b/packages/files/src/index.ts index 4c2475d5..e5769a63 100644 --- a/packages/files/src/index.ts +++ b/packages/files/src/index.ts @@ -190,7 +190,7 @@ export function* readAllPkgFiles({ }): Operation> { const pkgArray = Object.entries(config.packages); const readPkgs = pkgArray.map(([name, pkg]) => - readPkgFile({ cwd, pkgConfig: pkg, nickname: name }) + readPkgFile({ cwd, pkgConfig: pkg, nickname: name }), ); const pkgFilesArray: PackageFile[] = yield all(readPkgs); @@ -201,7 +201,7 @@ export function* readAllPkgFiles({ } return pkgs; }, - {} + {}, ); } @@ -340,7 +340,7 @@ export const getPackageFileVersion = ({ throw new Error( `${pkg.name} has a dependency on ${dep}, and ${dep} does not have a version number. ` + `This cannot be published. ` + - `Please pin it to a MAJOR.MINOR.PATCH reference.` + `Please pin it to a MAJOR.MINOR.PATCH reference.`, ); } return depDefinition.version; @@ -393,8 +393,8 @@ export const setPackageFileVersion = ({ `Expected ${property} not found in package:\n${JSON.stringify( pkg, null, - 2 - )}` + 2, + )}`, ); if (!dep) return pkg; @@ -447,7 +447,7 @@ export const testSerializePkgFile = ({ } catch (e: any) { if (e?.message === "Can only stringify objects, not null") { console.error( - "It appears that a dependency within this repo does not have a version specified." + "It appears that a dependency within this repo does not have a version specified.", ); } throw new Error(`within ${packageFile.name} => ${e?.message}`); @@ -463,7 +463,7 @@ export function* configFile({ }): Operation { const inputFile: File = yield loadFile( path.join(changeFolder, "config.json"), - cwd + cwd, ); try { const parsed = configFileSchema(cwd).parse(JSON.parse(inputFile.content)); @@ -493,7 +493,7 @@ export const changeFiles = async ({ ], { cwd, - } + }, ); }; @@ -520,7 +520,7 @@ export function* changeFilesRemove({ yield fs.unlink(path.posix.join(cwd, changeFilePath)); console.info(`${changeFilePath} was deleted`); return changeFilePath; - }) + }), ); } diff --git a/packages/files/test/index.test.ts b/packages/files/test/index.test.ts index 6d85cccf..fb3a8dd4 100644 --- a/packages/files/test/index.test.ts +++ b/packages/files/test/index.test.ts @@ -28,7 +28,7 @@ describe("general file test", () => { const configFolder = f.copy("config.simple"); const configArray = yield configFile({ cwd: configFolder }); expect((configArray as any).gitSiteUrl).toBe( - "https://github.com/jbolda/covector" + "https://github.com/jbolda/covector", ); }); diff --git a/packages/types/package.json b/packages/types/package.json index 87defce4..5c67fca3 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -14,7 +14,7 @@ "clean": "rimraf dist tsconfig.tsbuildinfo" }, "devDependencies": { - "@covector/types": "^0.0.0", + "@covector/types": "0.0.0", "tslib": "^2.5.0", "typescript": "^4.9.5" },