spiegel-keyman/resources/gosh
Marc Durdin 9f15e7c7ec maint: add empty 'scripts' tag to package.json to silence warning
Also removes './' from front of gosh.js to address another npm cleanup
(from `npm pkg fix`).

Fixes: #13833
2025-05-25 06:35:28 +07:00
..
gosh maint(common): rename gosh.sh to gosh and use /usr/bin/env bash 2025-05-02 12:45:52 +07:00
gosh.bat change(common/resources): move gosh scripts to resource/gosh 2020-05-25 08:29:15 -06:00
gosh.js chore(common): restore gosh.js 2025-05-02 13:04:39 +07:00
package.json maint: add empty 'scripts' tag to package.json to silence warning 2025-05-25 06:35:28 +07:00
README.md docs(common/resources): spruce up gosh README 2020-05-25 08:27:25 -06:00

@keymanapp/resources-gosh

gosh is a simple platform-agnostic launcher for bash scripts. On Windows, it will locate an installation of Git for Windows and use bash from that script. On *nix, it uses the system-supplied version of bash.

TODO: it would be possible for gosh to grab a newer version of bash on macOS which could simplify some of our cross-platform scripts?

Usage

gosh can be run as an npm module command or from the command line with the gosh/gosh.bat pair. The first parameter should be the bash script to run, and all subsequent parameters passed to gosh will be passed to the script unmodified. Note that paths passed to gosh should always use forward slashes (/), irrespective of the platform.

Examples

package.json

Invoke bash scripts using gosh instead:

  "scripts": {
    "build": "gosh ./build.sh",
    "test": "gosh ./unit_tests/test.sh"
  },
  • TeamCity instantiation: (path = web/source) ../../resources/gosh/gosh ./build.sh -publish-sentry