From 94238ecf070d311da754c1b4629722d0ad9a4587 Mon Sep 17 00:00:00 2001 From: Bobby Galli Date: Thu, 17 Jun 2021 15:46:42 +0000 Subject: [PATCH] Add Teamcity Build (#39) Fixes #38 --- package-lock.json | 83 +++++++++++++++++++++++--- package.json | 5 +- spec/support/jasmine.teamcity.e2e.json | 11 ++++ spec/support/jasmine.teamcity.json | 11 ++++ spec/support/teamcity.ts | 2 + 5 files changed, 104 insertions(+), 8 deletions(-) create mode 100644 spec/support/jasmine.teamcity.e2e.json create mode 100644 spec/support/jasmine.teamcity.json create mode 100644 spec/support/teamcity.ts diff --git a/package-lock.json b/package-lock.json index 94f0a1e..1c70474 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,18 +13,19 @@ "form-data": "^3.0.0" }, "devDependencies": { - "@bugsplat/js-api-client": "^0.0.3", + "@bugsplat/js-api-client": "^0.0.6", "@types/jasmine": "^3.6.2", "@types/node": "^14.14.16", "jasmine": "^3.6.3", + "jasmine-reporters": "^2.4.0", "ts-node": "^9.1.1", "typescript": "^4.1.3" } }, "node_modules/@bugsplat/js-api-client": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@bugsplat/js-api-client/-/js-api-client-0.0.3.tgz", - "integrity": "sha512-Vs2chLbd1ci2lWMJQrTuSE9XttW0IGacd6/8SKeJ09fu8d2HZjYdiHVPZm0HsOFg2KMuLxsPWbhLl80CQHE5TQ==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@bugsplat/js-api-client/-/js-api-client-0.0.6.tgz", + "integrity": "sha512-kJM670IMDflE11lxA64zJD6Q+NczV2nfdqa/mJYXQbGseiUaA4cqt8Qe6yHHGQgKk4el/cpI0FljRPMKwUolsw==", "dev": true, "dependencies": { "argument-contracts": "^1.2.3", @@ -229,6 +230,16 @@ "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", "dev": true }, + "node_modules/jasmine-reporters": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-2.4.0.tgz", + "integrity": "sha512-jxONSrBLN1vz/8zCx5YNWQSS8iyDAlXQ5yk1LuqITe4C6iXCDx5u6Q0jfNtkKhL4qLZPe69fL+AWvXFt9/x38w==", + "dev": true, + "dependencies": { + "mkdirp": "^0.5.1", + "xmldom": "^0.5.0" + } + }, "node_modules/make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -266,6 +277,24 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/node-fetch": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", @@ -353,6 +382,15 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "node_modules/xmldom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", + "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -365,9 +403,9 @@ }, "dependencies": { "@bugsplat/js-api-client": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@bugsplat/js-api-client/-/js-api-client-0.0.3.tgz", - "integrity": "sha512-Vs2chLbd1ci2lWMJQrTuSE9XttW0IGacd6/8SKeJ09fu8d2HZjYdiHVPZm0HsOFg2KMuLxsPWbhLl80CQHE5TQ==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@bugsplat/js-api-client/-/js-api-client-0.0.6.tgz", + "integrity": "sha512-kJM670IMDflE11lxA64zJD6Q+NczV2nfdqa/mJYXQbGseiUaA4cqt8Qe6yHHGQgKk4el/cpI0FljRPMKwUolsw==", "dev": true, "requires": { "argument-contracts": "^1.2.3", @@ -550,6 +588,16 @@ "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", "dev": true }, + "jasmine-reporters": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jasmine-reporters/-/jasmine-reporters-2.4.0.tgz", + "integrity": "sha512-jxONSrBLN1vz/8zCx5YNWQSS8iyDAlXQ5yk1LuqITe4C6iXCDx5u6Q0jfNtkKhL4qLZPe69fL+AWvXFt9/x38w==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1", + "xmldom": "^0.5.0" + } + }, "make-error": { "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", @@ -578,6 +626,21 @@ "brace-expansion": "^1.1.7" } }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, "node-fetch": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", @@ -640,6 +703,12 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, + "xmldom": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.5.0.tgz", + "integrity": "sha512-Foaj5FXVzgn7xFzsKeNIde9g6aFBxTPi37iwsno8QvApmtg7KYrr+OPyRHcJF7dud2a5nGRBXK3n0dL62Gf7PA==", + "dev": true + }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/package.json b/package.json index b98a098..f891148 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "types": "index.d.ts", "scripts": { "test": "ts-node --project spec/tsconfig.spec.json node_modules/jasmine/bin/jasmine --config=spec/support/jasmine.json", + "test:teamcity": "ts-node --project spec/tsconfig.spec.json node_modules/jasmine/bin/jasmine --config=spec/support/jasmine.teamcity.json", "e2e": "ts-node --project spec/tsconfig.spec.json node_modules/jasmine/bin/jasmine --config=spec/support/jasmine.e2e.json", + "e2e:teamcity": "ts-node --project spec/tsconfig.spec.json node_modules/jasmine/bin/jasmine --config=spec/support/jasmine.teamcity.e2e.json", "build": "npm run build:cjs && npm run build:esm", "build:cjs": "tsc -p tsconfig.cjs.json", "build:esm": "tsc -p tsconfig.esm.json" @@ -36,10 +38,11 @@ "form-data": "^3.0.0" }, "devDependencies": { - "@bugsplat/js-api-client": "^0.0.3", + "@bugsplat/js-api-client": "^0.0.6", "@types/jasmine": "^3.6.2", "@types/node": "^14.14.16", "jasmine": "^3.6.3", + "jasmine-reporters": "^2.4.0", "ts-node": "^9.1.1", "typescript": "^4.1.3" } diff --git a/spec/support/jasmine.teamcity.e2e.json b/spec/support/jasmine.teamcity.e2e.json new file mode 100644 index 0000000..700e786 --- /dev/null +++ b/spec/support/jasmine.teamcity.e2e.json @@ -0,0 +1,11 @@ +{ + "spec_dir": "spec", + "spec_files": [ + "bugsplat.e2e.spec.ts" + ], + "helpers": [ + "./support/teamcity.ts" + ], + "stopSpecOnExpectationFailure": false, + "random": true +} diff --git a/spec/support/jasmine.teamcity.json b/spec/support/jasmine.teamcity.json new file mode 100644 index 0000000..a821787 --- /dev/null +++ b/spec/support/jasmine.teamcity.json @@ -0,0 +1,11 @@ +{ + "spec_dir": "spec", + "spec_files": [ + "bugsplat.spec.ts" + ], + "helpers": [ + "./support/teamcity.ts" + ], + "stopSpecOnExpectationFailure": false, + "random": true +} diff --git a/spec/support/teamcity.ts b/spec/support/teamcity.ts new file mode 100644 index 0000000..60526fe --- /dev/null +++ b/spec/support/teamcity.ts @@ -0,0 +1,2 @@ +import { TeamCityReporter } from 'jasmine-reporters'; +jasmine.getEnv().addReporter(new TeamCityReporter()); \ No newline at end of file