* feat: update tsconfig, uninstall vercel/ncc package and use tsc to build project * feat: install 1password/front-end-style and configure Prettier * feat: configure ESLint and fix lint errors * build(deps): update types/node package to latest version * feat: configure Jest * feat: add 'validate' script to run formatting/linting/testing/building all together * build: rebuild the dist/index.js file * feat: make NPM scripts more granular * refactor: make it clearer that Prettier config is being loaded from an existing dependency * feat: add Husky and lint-staged to run pre-commit and pre-push checks * fix: lint-staged testing step and Jest config file * build(deps): update types/node package to latest version * refactor: remove findrelated test script * fix: move tsconfig.json to root directory, reinstall vercel/ncc for building * fix: call to run function in index.ts * build: rebuild the dist/index.js file * fix: replace CommonJS __dirname with an ESModule equivalent * fix: ignore config/.husky during ShellCheck * fix: ignore .husky directory during ShellCheck * fix: update lint.yml config to match ShellCheck README.md * fix: remove coveragePathIgnorePatterns option from Jest config since node_modules is already the default value * refactor: use './' prefix to refer to folders in the current directory in tsconfig.json * fix: handle edge case where Error constructor is modified and add comments for context * feat: bump package.json version to 1.2.0 to match current release * fix: update lint.yml to use ShellCheck 2.0.0 exact version * build(deps): update types/node package to latest version * fix: update package-lock.json version 1.2.0 * feat: remove pre-commit and pre-push NPM scripts to simplify package.json * fix: remove empty 'Default' column from 'configure Action Inputs' table * fix: change the default values in action.yml to strings as per YAML validation
33 lines
982 B
TypeScript
33 lines
982 B
TypeScript
import path from "path";
|
|
import url from "url";
|
|
import * as core from "@actions/core";
|
|
import * as exec from "@actions/exec";
|
|
|
|
const run = async () => {
|
|
try {
|
|
const currentFile = url.fileURLToPath(import.meta.url);
|
|
const currentDir = path.dirname(currentFile);
|
|
const parentDir = path.resolve(currentDir, "..");
|
|
|
|
// Get action inputs
|
|
process.env.INPUT_UNSET_PREVIOUS = core.getInput("unset-previous");
|
|
process.env.INPUT_EXPORT_ENV = core.getInput("export-env");
|
|
|
|
// Execute bash script
|
|
await exec.exec(`sh -c "` + parentDir + `/entrypoint.sh"`);
|
|
} catch (error) {
|
|
// It's possible for the Error constructor to be modified to be anything
|
|
// in JavaScript, so the following code accounts for this possibility.
|
|
// https://kentcdodds.com/blog/get-a-catch-block-error-message-with-typescript
|
|
let message = "Unknown Error";
|
|
if (error instanceof Error) {
|
|
message = error.message;
|
|
} else {
|
|
String(error);
|
|
}
|
|
core.setFailed(message);
|
|
}
|
|
};
|
|
|
|
void run();
|