Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,19 @@ module.exports = {
},
],
'jest/lowercase-name': 0,
'jest/max-expects': 0,
'jest/padding-around-all': 0,
'jest/padding-around-before-each-blocks': 0,
'jest/padding-around-describe-blocks': 0,
'jest/padding-around-expect-groups': 0,
'jest/padding-around-test-blocks': 0,
'jest/prefer-ending-with-an-expect': 0,
'jest/prefer-importing-jest-globals': 0,
'jest/prefer-jest-mocked': 0,
'jest/prefer-lowercase-title': 0,
'jest/prefer-mock-promise-shorthand': 0,
'jest/require-hook': 0,
'jest/unbound-method': 0,
'jsdoc/check-tag-names': [
1,
{
Expand Down Expand Up @@ -94,6 +105,7 @@ module.exports = {
'no-underscore-dangle': 0,
'no-shadow': 0,
'@typescript-eslint/no-shadow': ['error'],
'@typescript-eslint/no-unused-vars': ['error', { caughtErrors: 'none' }],
},
settings: {
'import/parsers': {
Expand Down
2 changes: 1 addition & 1 deletion jest.config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
/** @type {import('jest').Config} */
module.exports = {
preset: 'ts-jest',
testEnvironment: 'jsdom',
Expand Down
37 changes: 16 additions & 21 deletions karma.conf.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
// eslint-disable-next-line
const typescriptTransform = require('karma-typescript-es6-transform');
const { esbuildPluginIstanbul } = require('esbuild-plugin-istanbul');
// eslint-disable-next-line
process.env.CHROME_BIN = require('puppeteer').executablePath();

Expand Down Expand Up @@ -281,40 +281,35 @@ module.exports = (config) => {
process.exit(1);
}

const files = ['src/**/*.ts'];
const testPattern = config.integration ? 'src/**/*.integration-test.ts' : 'src/**/*.test.ts';
const files = [testPattern];

const karmaConfig = {
basePath: '.',
frameworks: ['mocha', 'chai', 'karma-typescript'],
frameworks: ['mocha', 'chai'],
files,
preprocessors: {
'src/**/*.ts': ['karma-typescript'],
[testPattern]: ['esbuild'],
},
exclude: [],
reporters: ['junit', 'karma-typescript', 'saucelabs', 'mocha', 'coverage'],
reporters: ['junit', 'saucelabs', 'mocha', 'coverage'],
port: 9876,
logLevel: config.DEBUG,
autoWatch: false,
singleRun: true,
concurrency: Infinity,
timeout,
captureTimeout: 240000,
karmaTypescriptConfig: {
tsconfig: './tsconfig.json',
compilerOptions: {
allowJs: true,
module: 'commonjs',
resolveJsonModule: false,
},
bundlerOptions: {
debug: true,
addNodeGlobals: false,
entrypoints: config.integration ? /\.integration-test\.ts/i : /\.test\.ts$/i,
transforms: [typescriptTransform()],
},
coverageOptions: {
exclude: [/\.(d|spec|test)\.ts$/i],
},
esbuild: {
singleBundle: true,
target: 'es2015',
plugins: [
esbuildPluginIstanbul({
filter: /\.ts$/,
Comment thread
SomeBody16 marked this conversation as resolved.
Outdated
loader: 'ts',
name: 'istanbul-loader-ts',
}),
],
},
sauceLabs: {
build: buildName,
Expand Down
32 changes: 17 additions & 15 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,45 +26,47 @@
"devDependencies": {
"@commitlint/cli": "^12.1.4",
"@commitlint/config-conventional": "^12.1.4",
"@microsoft/api-documenter": "^7.13.33",
"@microsoft/api-extractor": "^7.18.4",
"@microsoft/api-documenter": "^7.30.10",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep API Documenter compatible with Node 18.18

On Node 18.18.x, which the package still advertises via engines.node, a Yarn 1 install remains blocked because this API Documenter upgrade locks @rushstack/node-core-library@5.23.3, whose engine range starts at Node 18.20.3. The minimatch override from the earlier fix does not address this fresh lockfile dependency, so either retain a Documenter graph compatible with 18.18 or raise the declared Node minimum.

Useful? React with 👍 / 👎.

"@microsoft/api-extractor": "^7.58.12",
Comment thread
SomeBody16 marked this conversation as resolved.
Outdated
"@rollup/plugin-commonjs": "^20.0.0",
"@rollup/plugin-node-resolve": "^13.0.4",
"@semantic-release/changelog": "^6.0.1",
"@semantic-release/git": "^10.0.1",
"@semantic-release/release-notes-generator": "^10.0.3",
"@types/chai": "^4.2.21",
"@types/express": "^4.17.13",
"@types/jest": "^27.0.1",
"@types/jest": "^29.5.14",
"@types/lodash": "^4.14.171",
"@types/mocha": "^9.0.0",
"@types/node": "^22.0.0",
"@types/sdp-transform": "^2.4.5",
"@typescript-eslint/eslint-plugin": "^4.28.2",
"@typescript-eslint/parser": "^4.28.2",
"@typescript-eslint/eslint-plugin": "^8.65.0",
"@typescript-eslint/parser": "^8.65.0",
"chai": "^4.3.4",
"cspell": "^5.6.6",
"eslint": "^7.29.0",
"eslint-config-airbnb-base": "^14.2.1",
"eslint": "^8.57.1",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-import": "^2.24.0",
"eslint-plugin-jest": "^24.3.6",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jest": "^28.14.0",
"eslint-plugin-jsdoc": "^43.0.0",
"eslint-plugin-prettier": "^3.4.0",
"esbuild": "^0.28.1",
"esbuild-plugin-istanbul": "^0.3.0",
"husky": "^7.0.0",
"jest": "^27.0.6",
"jest": "^29.7.0",
"jest-environment-jsdom": "^29.7.0",
"karma": "6.3.15",
"karma-chai": "^0.1.0",
"karma-chrome-launcher": "^3.1.0",
"karma-coverage": "^2.0.3",
"karma-esbuild": "^2.3.0",
"karma-firefox-launcher": "^2.1.1",
"karma-junit-reporter": "^2.0.1",
"karma-mocha": "^2.0.1",
"karma-mocha-reporter": "^2.2.5",
"karma-safari-launcher": "^1.0.0",
"karma-sauce-launcher": "^4.3.6",
"karma-typescript": "^5.5.2",
"karma-typescript-es6-transform": "^5.5.2",
"lint-staged": "^11.1.1",
"mocha": "^9.1.2",
"npm-run-all": "^4.1.5",
Expand All @@ -75,9 +77,9 @@
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.31.1",
"semantic-release": "^19.0.2",
"ts-jest": "^27.0.5",
"ts-jest": "^29.4.12",
"ts-loader": "^9.2.3",
"typescript": "^5.5.2",
"typescript": "^6.0.3",
"yarn": "^1.22.22"
},
"scripts": {
Expand All @@ -86,7 +88,7 @@
"compile": "rollup -c ./rollup.config.js",
"docs": "npm run docs:clean && npm run docs:extract && npm run docs:generate",
"docs:clean": "rimraf ./docs",
"docs:extract": "api-extractor run -c ./api-extractor.json",
"docs:extract": "api-extractor run --local -c ./api-extractor.json",
"docs:generate": "api-documenter markdown -i ./docs/temp -o ./docs",
"fix": "run-s fix:*",
"fix:prettier": "prettier \"src/**/*.ts\" --write",
Expand Down
6 changes: 3 additions & 3 deletions src/peer-connection-utils.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@ import { getLocalDescriptionWithIceCandidates } from './peer-connection-utils';

jest.mock('./peer-connection');

const dummyLocalDesc = {
const dummyLocalDesc: RTCSessionDescription = {
type: 'offer',
sdp: 'sdp with candidates',
toJSON: () => undefined,
} as RTCSessionDescription;
toJSON: () => ({ type: 'offer', sdp: 'sdp with candidates' }),
};

describe('getLocalDescriptionWithIceCandidates', () => {
const mockPc = mocked(new PeerConnection(), true);
Expand Down
15 changes: 7 additions & 8 deletions src/peer-connection.spec.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { BrowserInfo } from '@webex/web-capabilities';
import { MockedObjectDeep } from 'ts-jest';
import { ConnectionStateHandler } from './connection-state-handler';
import { mocked } from './mocks/mock';
import { MaybeMockedDeep, mocked } from './mocks/mock';
import { RTCPeerConnectionStub } from './mocks/rtc-peer-connection-stub';
import { PeerConnection } from './peer-connection';
import { createRTCPeerConnection } from './rtc-peer-connection-factory';
Expand Down Expand Up @@ -266,7 +265,7 @@ describe('PeerConnection', () => {
});

describe('getIceCandidates', () => {
let mockPc: MockedObjectDeep<RTCPeerConnectionStub>;
let mockPc: MaybeMockedDeep<RTCPeerConnectionStub>;
let pc: PeerConnection;

beforeEach(() => {
Expand Down Expand Up @@ -327,7 +326,7 @@ describe('PeerConnection', () => {
});

describe('createAnswer', () => {
let mockPc: MockedObjectDeep<RTCPeerConnectionStub>;
let mockPc: MaybeMockedDeep<RTCPeerConnectionStub>;
let createAnswerSpy: jest.SpyInstance;
const callback = jest.fn();
let pc: PeerConnection;
Expand Down Expand Up @@ -372,7 +371,7 @@ describe('PeerConnection', () => {
});

describe('createOffer', () => {
let mockPc: MockedObjectDeep<RTCPeerConnectionStub>;
let mockPc: MaybeMockedDeep<RTCPeerConnectionStub>;
let createOfferSpy: jest.SpyInstance;
const callback = jest.fn();
let pc: PeerConnection;
Expand Down Expand Up @@ -417,7 +416,7 @@ describe('PeerConnection', () => {
});

describe('setLocalDescription', () => {
let mockPc: MockedObjectDeep<RTCPeerConnectionStub>;
let mockPc: MaybeMockedDeep<RTCPeerConnectionStub>;
let setLocalDescriptionSpy: jest.SpyInstance;
const callback = jest.fn();
let pc: PeerConnection;
Expand Down Expand Up @@ -479,7 +478,7 @@ describe('PeerConnection', () => {
});

describe('setConfiguration', () => {
let mockPc: MockedObjectDeep<RTCPeerConnectionStub>;
let mockPc: MaybeMockedDeep<RTCPeerConnectionStub>;
let pc: PeerConnection;

beforeEach(() => {
Expand All @@ -500,7 +499,7 @@ describe('PeerConnection', () => {
});

describe('setRemoteDescription', () => {
let mockPc: MockedObjectDeep<RTCPeerConnectionStub>;
let mockPc: MaybeMockedDeep<RTCPeerConnectionStub>;
let setRemoteDescriptionSpy: jest.SpyInstance;
const callback = jest.fn();
let pc: PeerConnection;
Expand Down
1 change: 1 addition & 0 deletions tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@

/* Advanced Options */
"skipLibCheck": true /* Skip type checking of declaration files. */,
"ignoreDeprecations": "6.0" /* Preserve legacy module resolution until the follow-up cleanup. */,
Comment thread
SomeBody16 marked this conversation as resolved.
Outdated
"forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
},
"include": ["src/**/*"],
Expand Down
Loading
Loading