diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 0000000..33d6aab --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,12 @@ +name: PR Build +on: pull_request +jobs: + code-quality: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: lts/* + - run: npm ci + - run: npm run lint diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..435d3ca --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,30 @@ +on: + push: + branches: + - master +jobs: + deploy: + name: Publish + runs-on: ubuntu-latest + environment: development + steps: + - uses: actions/checkout@v3 + - name: Setup Node.js environment + uses: actions/setup-node@v3 + with: + node-version: 16.x + - name: Install_token + id: install + env: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: | + echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc + shell: bash + - name: NPM_install + id: npm_install + run: | + npm ci + - name: publish npm module + if: github.ref == 'refs/heads/master' + run: npm publish + shell: bash diff --git a/lib/index.ts b/lib/index.ts index 4d98d6b..dabc9bb 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -94,11 +94,16 @@ export const assert = (value: any, message: string, context?: {}): void => { } } -export const newOperationalOops = (message: string, context?: {}) => { +export const newOperationalOops = ( + message: string, + context?: {}, + cause?: Error +) => { return new Oops({ message, category: constants.OperationalError, context, + cause, }) } @@ -109,11 +114,16 @@ export const operationalOops = (message: string, context?: {}) => { throw newOperationalOops(message, context) } -export const newProgrammerOops = (message: string, context?: {}) => { +export const newProgrammerOops = ( + message: string, + context?: {}, + cause?: Error +) => { return new Oops({ message, category: constants.ProgrammerError, context, + cause, }) } diff --git a/package-lock.json b/package-lock.json index 53de893..0ced90c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "oops-error", - "version": "2.4.0", + "version": "2.4.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "oops-error", - "version": "2.4.0", + "version": "2.4.2", "license": "ISC", "dependencies": { "uuid": "^9.0.0" @@ -14,17 +14,17 @@ "devDependencies": { "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", - "@types/node": "^18.11.18", + "@types/node": "^18.13.0", "chai": "^4.3.7", "husky": "^8.0.3", "mocha": "^10.2.0", - "prettier": "^2.8.1", + "prettier": "^2.8.4", "sinon": "^15.0.1", "ts-mocha": "^10.0.0", "ts-node": "^10.9.1", "tslint": "^6.1.3", "tslint-config-prettier": "^1.18.0", - "typescript": "^4.9.4" + "typescript": "^4.9.5" } }, "node_modules/@babel/code-frame": { @@ -178,9 +178,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "version": "18.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", + "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==", "dev": true }, "node_modules/acorn": { @@ -1185,9 +1185,9 @@ } }, "node_modules/prettier": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", - "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", + "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -1640,9 +1640,9 @@ } }, "node_modules/typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -1932,9 +1932,9 @@ "dev": true }, "@types/node": { - "version": "18.11.18", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", - "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "version": "18.13.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", + "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==", "dev": true }, "acorn": { @@ -2672,9 +2672,9 @@ "dev": true }, "prettier": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz", - "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==", + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.4.tgz", + "integrity": "sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==", "dev": true }, "randombytes": { @@ -2993,9 +2993,9 @@ "dev": true }, "typescript": { - "version": "4.9.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.4.tgz", - "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true }, "uuid": { diff --git a/package.json b/package.json index 0eb7f61..f525493 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "oops-error", - "version": "2.4.0", + "version": "2.4.2", "description": "", "main": "./dist/lib/index.js", "scripts": { @@ -21,17 +21,17 @@ "devDependencies": { "@types/chai": "^4.3.4", "@types/mocha": "^10.0.1", - "@types/node": "^18.11.18", + "@types/node": "^18.13.0", "chai": "^4.3.7", "husky": "^8.0.3", "mocha": "^10.2.0", - "prettier": "^2.8.1", + "prettier": "^2.8.4", "sinon": "^15.0.1", "ts-mocha": "^10.0.0", "ts-node": "^10.9.1", "tslint": "^6.1.3", "tslint-config-prettier": "^1.18.0", - "typescript": "^4.9.4" + "typescript": "^4.9.5" }, "files": [ "dist/lib",