diff --git a/CHANGELOG.md b/CHANGELOG.md index 58941fa5..6d44b8d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ and this project adheres to ## [unreleased] +### Added + +- Add the OCaml problem matcher. + ## [2.0.20] ### Changed diff --git a/dist/index.js b/dist/index.js index 829e39ec..37679fb5 100644 --- a/dist/index.js +++ b/dist/index.js @@ -102565,6 +102565,8 @@ const external_node_os_namespaceObject = require("node:os"); const external_node_path_namespaceObject = require("node:path"); ;// CONCATENATED MODULE: external "node:process" const external_node_process_namespaceObject = require("node:process"); +// EXTERNAL MODULE: ../../node_modules/@actions/core/lib/command.js +var command = __nccwpck_require__(29548); // EXTERNAL MODULE: ../../node_modules/@actions/exec/lib/exec.js var lib_exec = __nccwpck_require__(66473); // EXTERNAL MODULE: ../../node_modules/@actions/cache/lib/cache.js @@ -120781,19 +120783,18 @@ async function getOpamLocalPackages() { + async function installer() { const platform = getPlatform(); - const numberOfProcessors = external_node_os_namespaceObject.cpus().length; - const isDebug = lib_core.isDebug(); lib_core.exportVariable("OPAMCLI", "2.0"); lib_core.exportVariable("OPAMCOLOR", "always"); lib_core.exportVariable("OPAMERRLOGLEN", 0); - lib_core.exportVariable("OPAMJOBS", numberOfProcessors); + lib_core.exportVariable("OPAMJOBS", external_node_os_namespaceObject.cpus().length); lib_core.exportVariable("OPAMPRECISETRACKING", 1); // [todo] remove this line once we unlock opam 2.2 // https://github.com/ocaml/opam/issues/3447 lib_core.exportVariable("OPAMSOLVERTIMEOUT", 1000); - lib_core.exportVariable("OPAMVERBOSE", isDebug); + lib_core.exportVariable("OPAMVERBOSE", lib_core.isDebug() ? Number.POSITIVE_INFINITY : 0); lib_core.exportVariable("OPAMYES", 1); if (platform === Platform.Win32) { const opamRoot = external_node_path_namespaceObject.join("D:", ".opam"); @@ -120859,6 +120860,10 @@ async function installer() { } } } + const ocamlMatcherPath = external_node_path_namespaceObject.join( + // eslint-disable-next-line unicorn/prefer-module + __dirname, "..", "matchers", "ocaml.json"); + (0,command.issueCommand)("add-matcher", {}, ocamlMatcherPath); await (0,lib_exec.exec)("opam", ["--version"]); if (OPAM_DEPEXT) { await (0,lib_exec.exec)("opam", ["depext", "--version"]); diff --git a/matchers/ocaml.json b/matchers/ocaml.json new file mode 100644 index 00000000..f7bada24 --- /dev/null +++ b/matchers/ocaml.json @@ -0,0 +1,20 @@ +{ + "problemMatcher": [ + { + "owner": "ocaml", + "pattern": [ + { + "regexp": "^File\\s\"(.+)\",\\sline\\s(\\d+),\\scharacters\\s(\\d+)-(\\d+):$", + "file": 1, + "line": 2, + "column": 3 + }, + { + "regexp": "^(Error|Warning)\\s*(.*):\\s.*$", + "severity": 1, + "message": 2 + } + ] + } + ] +} diff --git a/monorepo.code-workspace b/monorepo.code-workspace index 0952612f..45be66ac 100644 --- a/monorepo.code-workspace +++ b/monorepo.code-workspace @@ -4,11 +4,12 @@ { "name": "lint-doc", "path": "lint-doc" }, { "name": "lint-fmt", "path": "lint-fmt" }, { "name": "lint-opam", "path": "lint-opam" }, + { "name": "matchers", "path": "matchers" }, + { "name": "eslint-config-ocaml", "path": "packages/eslint-config-ocaml" }, { "name": "packages/lint-doc", "path": "packages/lint-doc" }, { "name": "packages/lint-fmt", "path": "packages/lint-fmt" }, { "name": "packages/lint-opam", "path": "packages/lint-opam" }, { "name": "packages/setup-ocaml", "path": "packages/setup-ocaml" }, - { "name": "eslint-config-ocaml", "path": "packages/eslint-config-ocaml" }, { "name": "root", "path": "." } ], "settings": { diff --git a/packages/lint-doc/package.json b/packages/lint-doc/package.json index 42c5b64c..cf936ccc 100644 --- a/packages/lint-doc/package.json +++ b/packages/lint-doc/package.json @@ -1,6 +1,7 @@ { "name": "@ocaml/lint-doc", "scripts": { + "clean": "shx rm -rf ../../lint-doc/dist", "build": "ncc build src/index.ts --license=LICENSE.txt --out ../../lint-doc/dist", "format": "prettier . --write", "format:check": "prettier . --check", @@ -19,6 +20,7 @@ "@vercel/ncc": "0.38.0", "eslint": "8.49.0", "prettier": "3.0.3", + "shx": "0.3.4", "typescript": "5.2.2" }, "private": true diff --git a/packages/lint-fmt/package.json b/packages/lint-fmt/package.json index 4b94b65b..9c70d8fa 100644 --- a/packages/lint-fmt/package.json +++ b/packages/lint-fmt/package.json @@ -1,6 +1,7 @@ { "name": "@ocaml/lint-fmt", "scripts": { + "clean": "shx rm -rf ../../lint-fmt/dist", "build": "ncc build src/index.ts --license=LICENSE.txt --out ../../lint-fmt/dist", "format": "prettier . --write", "format:check": "prettier . --check", @@ -19,6 +20,7 @@ "@vercel/ncc": "0.38.0", "eslint": "8.49.0", "prettier": "3.0.3", + "shx": "0.3.4", "typescript": "5.2.2" }, "private": true diff --git a/packages/lint-opam/package.json b/packages/lint-opam/package.json index 91337289..48d8f644 100644 --- a/packages/lint-opam/package.json +++ b/packages/lint-opam/package.json @@ -1,6 +1,7 @@ { "name": "@ocaml/lint-opam", "scripts": { + "clean": "shx rm -rf ../../lint-opam/dist", "build": "ncc build src/index.ts --license=LICENSE.txt --out ../../lint-opam/dist", "format": "prettier . --write", "format:check": "prettier . --check", @@ -19,6 +20,7 @@ "@vercel/ncc": "0.38.0", "eslint": "8.49.0", "prettier": "3.0.3", + "shx": "0.3.4", "typescript": "5.2.2" }, "private": true diff --git a/packages/setup-ocaml/package.json b/packages/setup-ocaml/package.json index fc95e42d..ffec4538 100644 --- a/packages/setup-ocaml/package.json +++ b/packages/setup-ocaml/package.json @@ -1,9 +1,10 @@ { "name": "@ocaml/setup-ocaml", "scripts": { + "clean": "shx rm -rf ../../dist", "build:main": "ncc build src/index.ts --license=LICENSE.txt --out ../../dist", "build:post": "ncc build src/post.ts --license=LICENSE.txt --out ../../dist/post", - "build": "yarn build:main & yarn build:post", + "build": "npm-run-all -p build:main build:post", "format": "prettier . --write", "format:check": "prettier . --check", "lint": "TIMING=1 eslint .", @@ -31,7 +32,9 @@ "@types/semver": "7.5.1", "@vercel/ncc": "0.38.0", "eslint": "8.49.0", + "npm-run-all": "4.1.5", "prettier": "3.0.3", + "shx": "0.3.4", "typescript": "5.2.2" }, "private": true diff --git a/packages/setup-ocaml/src/installer.ts b/packages/setup-ocaml/src/installer.ts index 446f2007..05edcd40 100644 --- a/packages/setup-ocaml/src/installer.ts +++ b/packages/setup-ocaml/src/installer.ts @@ -3,6 +3,7 @@ import * as path from "node:path"; import * as process from "node:process"; import * as core from "@actions/core"; +import { issueCommand } from "@actions/core/lib/command"; import { exec } from "@actions/exec"; import { @@ -35,17 +36,18 @@ import { resolveCompiler } from "./version"; export async function installer() { const platform = getPlatform(); - const numberOfProcessors = os.cpus().length; - const isDebug = core.isDebug(); core.exportVariable("OPAMCLI", "2.0"); core.exportVariable("OPAMCOLOR", "always"); core.exportVariable("OPAMERRLOGLEN", 0); - core.exportVariable("OPAMJOBS", numberOfProcessors); + core.exportVariable("OPAMJOBS", os.cpus().length); core.exportVariable("OPAMPRECISETRACKING", 1); // [todo] remove this line once we unlock opam 2.2 // https://github.com/ocaml/opam/issues/3447 core.exportVariable("OPAMSOLVERTIMEOUT", 1000); - core.exportVariable("OPAMVERBOSE", isDebug); + core.exportVariable( + "OPAMVERBOSE", + core.isDebug() ? Number.POSITIVE_INFINITY : 0, + ); core.exportVariable("OPAMYES", 1); if (platform === Platform.Win32) { const opamRoot = path.join("D:", ".opam"); @@ -112,6 +114,14 @@ export async function installer() { } } } + const ocamlMatcherPath = path.join( + // eslint-disable-next-line unicorn/prefer-module + __dirname, + "..", + "matchers", + "ocaml.json", + ); + issueCommand("add-matcher", {}, ocamlMatcherPath); await exec("opam", ["--version"]); if (OPAM_DEPEXT) { await exec("opam", ["depext", "--version"]); diff --git a/turbo.json b/turbo.json index a26b5e49..94f68b76 100644 --- a/turbo.json +++ b/turbo.json @@ -2,7 +2,10 @@ "$schema": "https://turborepo.org/schema.json", "pipeline": { "build": { - "dependsOn": ["^build"] + "dependsOn": ["clean", "^build"] + }, + "clean": { + "cache": false }, "format": {}, "format:check": {}, diff --git a/yarn.lock b/yarn.lock index 91f1fce3..32185aa7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -423,6 +423,7 @@ __metadata: "@vercel/ncc": 0.38.0 eslint: 8.49.0 prettier: 3.0.3 + shx: 0.3.4 typescript: 5.2.2 languageName: unknown linkType: soft @@ -440,6 +441,7 @@ __metadata: "@vercel/ncc": 0.38.0 eslint: 8.49.0 prettier: 3.0.3 + shx: 0.3.4 typescript: 5.2.2 languageName: unknown linkType: soft @@ -457,6 +459,7 @@ __metadata: "@vercel/ncc": 0.38.0 eslint: 8.49.0 prettier: 3.0.3 + shx: 0.3.4 typescript: 5.2.2 languageName: unknown linkType: soft @@ -482,8 +485,10 @@ __metadata: cheerio: 1.0.0-rc.12 date-fns: 2.30.0 eslint: 8.49.0 + npm-run-all: 4.1.5 prettier: 3.0.3 semver: 7.5.4 + shx: 0.3.4 typescript: 5.2.2 yaml: 2.3.2 languageName: unknown @@ -1196,7 +1201,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^2.4.2": +"chalk@npm:^2.4.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -1340,6 +1345,19 @@ __metadata: languageName: node linkType: hard +"cross-spawn@npm:^6.0.5": + version: 6.0.5 + resolution: "cross-spawn@npm:6.0.5" + dependencies: + nice-try: ^1.0.4 + path-key: ^2.0.1 + semver: ^5.5.0 + shebang-command: ^1.2.0 + which: ^1.2.9 + checksum: f893bb0d96cd3d5751d04e67145bdddf25f99449531a72e82dcbbd42796bbc8268c1076c6b3ea51d4d455839902804b94bc45dfb37ecbb32ea8e54a6741c3ab9 + languageName: node + linkType: hard + "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" @@ -2303,7 +2321,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.1.3, glob@npm:^7.1.4": +"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.4": version: 7.2.3 resolution: "glob@npm:7.2.3" dependencies: @@ -2358,7 +2376,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 @@ -2579,6 +2597,13 @@ __metadata: languageName: node linkType: hard +"interpret@npm:^1.0.0": + version: 1.4.0 + resolution: "interpret@npm:1.4.0" + checksum: 2e5f51268b5941e4a17e4ef0575bc91ed0ab5f8515e3cf77486f7c14d13f3010df9c0959f37063dcc96e78d12dc6b0bb1b9e111cdfe69771f4656d2993d36155 + languageName: node + linkType: hard + "ip@npm:^2.0.0": version: 2.0.0 resolution: "ip@npm:2.0.0" @@ -2901,6 +2926,13 @@ __metadata: languageName: node linkType: hard +"json-parse-better-errors@npm:^1.0.1": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: ff2b5ba2a70e88fd97a3cb28c1840144c5ce8fae9cbeeddba15afa333a5c407cf0e42300cd0a2885dbb055227fe68d405070faad941beeffbfde9cf3b2c78c5d + languageName: node + linkType: hard + "json-parse-even-better-errors@npm:^2.3.0": version: 2.3.1 resolution: "json-parse-even-better-errors@npm:2.3.1" @@ -2957,6 +2989,18 @@ __metadata: languageName: node linkType: hard +"load-json-file@npm:^4.0.0": + version: 4.0.0 + resolution: "load-json-file@npm:4.0.0" + dependencies: + graceful-fs: ^4.1.2 + parse-json: ^4.0.0 + pify: ^3.0.0 + strip-bom: ^3.0.0 + checksum: 8f5d6d93ba64a9620445ee9bde4d98b1eac32cf6c8c2d20d44abfa41a6945e7969456ab5f1ca2fb06ee32e206c9769a20eec7002fe290de462e8c884b6b8b356 + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -3035,6 +3079,13 @@ __metadata: languageName: node linkType: hard +"memorystream@npm:^0.3.1": + version: 0.3.1 + resolution: "memorystream@npm:0.3.1" + checksum: f18b42440d24d09516d01466c06adf797df7873f0d40aa7db02e5fb9ed83074e5e65412d0720901d7069363465f82dc4f8bcb44f0cde271567a61426ce6ca2e9 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -3114,7 +3165,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.6": +"minimist@npm:^1.2.3, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 @@ -3242,6 +3293,13 @@ __metadata: languageName: node linkType: hard +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 0b4af3b5bb5d86c289f7a026303d192a7eb4417231fe47245c460baeabae7277bcd8fd9c728fb6bd62c30b3e15cd6620373e2cf33353b095d8b403d3e8a15aff + languageName: node + linkType: hard + "node-fetch@npm:^2.6.7": version: 2.7.0 resolution: "node-fetch@npm:2.7.0" @@ -3288,7 +3346,7 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^2.5.0": +"normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" dependencies: @@ -3300,6 +3358,27 @@ __metadata: languageName: node linkType: hard +"npm-run-all@npm:4.1.5": + version: 4.1.5 + resolution: "npm-run-all@npm:4.1.5" + dependencies: + ansi-styles: ^3.2.1 + chalk: ^2.4.1 + cross-spawn: ^6.0.5 + memorystream: ^0.3.1 + minimatch: ^3.0.4 + pidtree: ^0.3.0 + read-pkg: ^3.0.0 + shell-quote: ^1.6.1 + string.prototype.padend: ^3.0.0 + bin: + npm-run-all: bin/npm-run-all/index.js + run-p: bin/run-p/index.js + run-s: bin/run-s/index.js + checksum: 373b72c6a36564da13c1642c1fd9bb4dcc756bce7a3648f883772f02661095319820834ff813762d2fee403e9b40c1cd27c8685807c107440f10eb19c006d4a0 + languageName: node + linkType: hard + "npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -3513,6 +3592,16 @@ __metadata: languageName: node linkType: hard +"parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-json@npm:4.0.0" + dependencies: + error-ex: ^1.3.1 + json-parse-better-errors: ^1.0.1 + checksum: 0fe227d410a61090c247e34fa210552b834613c006c2c64d9a05cfe9e89cf8b4246d1246b1a99524b53b313e9ac024438d0680f67e33eaed7e6f38db64cfe7b5 + languageName: node + linkType: hard + "parse-json@npm:^5.0.0": version: 5.2.0 resolution: "parse-json@npm:5.2.0" @@ -3558,6 +3647,13 @@ __metadata: languageName: node linkType: hard +"path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd + languageName: node + linkType: hard + "path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -3589,6 +3685,15 @@ __metadata: languageName: node linkType: hard +"path-type@npm:^3.0.0": + version: 3.0.0 + resolution: "path-type@npm:3.0.0" + dependencies: + pify: ^3.0.0 + checksum: 735b35e256bad181f38fa021033b1c33cfbe62ead42bb2222b56c210e42938eecb272ae1949f3b6db4ac39597a61b44edd8384623ec4d79bfdc9a9c0f12537a6 + languageName: node + linkType: hard + "path-type@npm:^4.0.0": version: 4.0.0 resolution: "path-type@npm:4.0.0" @@ -3610,6 +3715,22 @@ __metadata: languageName: node linkType: hard +"pidtree@npm:^0.3.0": + version: 0.3.1 + resolution: "pidtree@npm:0.3.1" + bin: + pidtree: bin/pidtree.js + checksum: eb49025099f1af89a4696f7673351421f13420f3397b963c901fe23a1c9c2ff50f4750321970d4472c0ffbb065e4a6c3c27f75e226cc62284b19e21d32ce7012 + languageName: node + linkType: hard + +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 6cdcbc3567d5c412450c53261a3f10991665d660961e06605decf4544a61a97a54fefe70a68d5c37080ff9d6f4cf51444c90198d1ba9f9309a6c0d6e9f5c4fde + languageName: node + linkType: hard + "pluralize@npm:^8.0.0": version: 8.0.0 resolution: "pluralize@npm:8.0.0" @@ -3684,6 +3805,17 @@ __metadata: languageName: node linkType: hard +"read-pkg@npm:^3.0.0": + version: 3.0.0 + resolution: "read-pkg@npm:3.0.0" + dependencies: + load-json-file: ^4.0.0 + normalize-package-data: ^2.3.2 + path-type: ^3.0.0 + checksum: 398903ebae6c7e9965419a1062924436cc0b6f516c42c4679a90290d2f87448ed8f977e7aa2dbba4aa1ac09248628c43e493ac25b2bc76640e946035200e34c6 + languageName: node + linkType: hard + "read-pkg@npm:^5.2.0": version: 5.2.0 resolution: "read-pkg@npm:5.2.0" @@ -3707,6 +3839,15 @@ __metadata: languageName: node linkType: hard +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: ^1.1.6 + checksum: fe76bf9c21875ac16e235defedd7cbd34f333c02a92546142b7911a0f7c7059d2e16f441fe6fb9ae203f459c05a31b2bcf26202896d89e390eda7514d5d2702b + languageName: node + linkType: hard + "regenerator-runtime@npm:^0.14.0": version: 0.14.0 resolution: "regenerator-runtime@npm:0.14.0" @@ -3759,7 +3900,7 @@ __metadata: languageName: node linkType: hard -"resolve@npm:^1.10.0, resolve@npm:^1.22.4": +"resolve@npm:^1.1.6, resolve@npm:^1.10.0, resolve@npm:^1.22.4": version: 1.22.4 resolution: "resolve@npm:1.22.4" dependencies: @@ -3772,7 +3913,7 @@ __metadata: languageName: node linkType: hard -"resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin": +"resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.22.4#~builtin": version: 1.22.4 resolution: "resolve@patch:resolve@npm%3A1.22.4#~builtin::version=1.22.4&hash=c3c19d" dependencies: @@ -3872,7 +4013,7 @@ __metadata: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0": version: 5.7.2 resolution: "semver@npm:5.7.2" bin: @@ -3917,6 +4058,15 @@ __metadata: languageName: unknown linkType: soft +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: ^1.0.0 + checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 + languageName: node + linkType: hard + "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -3926,6 +4076,13 @@ __metadata: languageName: node linkType: hard +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 + languageName: node + linkType: hard + "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -3933,6 +4090,38 @@ __metadata: languageName: node linkType: hard +"shell-quote@npm:^1.6.1": + version: 1.8.1 + resolution: "shell-quote@npm:1.8.1" + checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b + languageName: node + linkType: hard + +"shelljs@npm:^0.8.5": + version: 0.8.5 + resolution: "shelljs@npm:0.8.5" + dependencies: + glob: ^7.0.0 + interpret: ^1.0.0 + rechoir: ^0.6.2 + bin: + shjs: bin/shjs + checksum: 7babc46f732a98f4c054ec1f048b55b9149b98aa2da32f6cf9844c434b43c6251efebd6eec120937bd0999e13811ebd45efe17410edb3ca938f82f9381302748 + languageName: node + linkType: hard + +"shx@npm:0.3.4": + version: 0.3.4 + resolution: "shx@npm:0.3.4" + dependencies: + minimist: ^1.2.3 + shelljs: ^0.8.5 + bin: + shx: lib/cli.js + checksum: 0aa168bfddc11e3fe8943cce2e0d2d8514a560bd58cf2b835b4351ba03f46068f7d88286c2627f4b85604e81952154c43746369fb3f0d60df0e3b511f465e5b8 + languageName: node + linkType: hard + "side-channel@npm:^1.0.4": version: 1.0.4 resolution: "side-channel@npm:1.0.4" @@ -4058,6 +4247,17 @@ __metadata: languageName: node linkType: hard +"string.prototype.padend@npm:^3.0.0": + version: 3.1.5 + resolution: "string.prototype.padend@npm:3.1.5" + dependencies: + call-bind: ^1.0.2 + define-properties: ^1.2.0 + es-abstract: ^1.22.1 + checksum: fc915e0b6ae1dce07a9f5088429d84fda2c1c0ac9a05bc14a602f173cc2fdef32e4893dfba5656f8f955450c9c16deebdb8d303d27613a367bc6d8508a94cd5e + languageName: node + linkType: hard + "string.prototype.trim@npm:^1.2.7": version: 1.2.8 resolution: "string.prototype.trim@npm:1.2.8" @@ -4581,6 +4781,17 @@ __metadata: languageName: node linkType: hard +"which@npm:^1.2.9": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: ^2.0.0 + bin: + which: ./bin/which + checksum: f2e185c6242244b8426c9df1510e86629192d93c1a986a7d2a591f2c24869e7ffd03d6dac07ca863b2e4c06f59a4cc9916c585b72ee9fa1aa609d0124df15e04 + languageName: node + linkType: hard + "which@npm:^2.0.1, which@npm:^2.0.2": version: 2.0.2 resolution: "which@npm:2.0.2"