diff --git a/package.json b/package.json index 7812b6144..31180cf4f 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "link-server": "npm uninstall -g bash-language-server && yarn compile && yarn unlink bash-language-server && cd server && yarn link && cd ../vscode-client && yarn link bash-language-server" }, "devDependencies": { - "@types/jest": "28.1.8", + "@types/jest": "29.4.0", "@types/node": "18.11.18", "@typescript-eslint/eslint-plugin": "5.50.0", "@typescript-eslint/parser": "5.50.0", @@ -26,16 +26,14 @@ "eslint-plugin-prettier": "4.2.1", "eslint-plugin-simple-import-sort": "10.0.0", "eslint-plugin-sort-class-members": "1.16.0", - "jest": "28.1.3", + "jest": "29.4.1", "prettier": "2.8.3", - "ts-jest": "28.0.8", + "ts-jest": "29.0.5", "typescript": "4.9.5", "vscode-languageserver": "8.0.2", "vscode-languageserver-textdocument": "1.0.8" }, - "dependencies": { - "zod": "3.20.2" - }, + "dependencies": {}, "resolutions": { "sane": "^5.0.0" }, @@ -54,12 +52,12 @@ "/vscode-client/out" ], "transform": { - "\\.ts$": "ts-jest" - }, - "globals": { - "ts-jest": { - "tsconfig": "./server/tsconfig.json" - } + "\\.ts$": [ + "ts-jest", + { + "tsconfig": "./server/tsconfig.json" + } + ] }, "testMatch": [ "/**/__tests__/*.ts" diff --git a/server/src/__tests__/__snapshots__/analyzer.test.ts.snap b/server/src/__tests__/__snapshots__/analyzer.test.ts.snap index 25f1c8438..6b51b95de 100644 --- a/server/src/__tests__/__snapshots__/analyzer.test.ts.snap +++ b/server/src/__tests__/__snapshots__/analyzer.test.ts.snap @@ -1,53 +1,53 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`findReferences returns a list of locations if parameter is found 1`] = ` -Array [ - Object { - "range": Object { - "end": Object { +[ + { + "range": { + "end": { "character": 12, "line": 148, }, - "start": Object { + "start": { "character": 0, "line": 148, }, }, "uri": "dummy-uri.sh", }, - Object { - "range": Object { - "end": Object { + { + "range": { + "end": { "character": 45, "line": 152, }, - "start": Object { + "start": { "character": 33, "line": 152, }, }, "uri": "dummy-uri.sh", }, - Object { - "range": Object { - "end": Object { + { + "range": { + "end": { "character": 20, "line": 162, }, - "start": Object { + "start": { "character": 8, "line": 162, }, }, "uri": "dummy-uri.sh", }, - Object { - "range": Object { - "end": Object { + { + "range": { + "end": { "character": 31, "line": 165, }, - "start": Object { + "start": { "character": 19, "line": 165, }, @@ -58,16 +58,16 @@ Array [ `; exports[`getDeclarationsForUri issue 101 1`] = ` -Array [ - Object { +[ + { "kind": 12, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 1, "line": 14, }, - "start": Object { + "start": { "character": 0, "line": 3, }, @@ -76,16 +76,16 @@ Array [ }, "name": "add_a_user", }, - Object { + { "containerName": "add_a_user", "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 9, "line": 5, }, - "start": Object { + "start": { "character": 2, "line": 5, }, @@ -94,16 +94,16 @@ Array [ }, "name": "USER", }, - Object { + { "containerName": "add_a_user", "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 13, "line": 6, }, - "start": Object { + "start": { "character": 2, "line": 6, }, @@ -112,16 +112,16 @@ Array [ }, "name": "PASSWORD", }, - Object { + { "containerName": "add_a_user", "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 13, "line": 9, }, - "start": Object { + "start": { "character": 2, "line": 9, }, @@ -134,16 +134,16 @@ Array [ `; exports[`getDeclarationsForUri returns a list of SymbolInformation if uri is found 1`] = ` -Array [ - Object { +[ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 8, "line": 21, }, - "start": Object { + "start": { "character": 2, "line": 21, }, @@ -152,15 +152,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 8, "line": 30, }, - "start": Object { + "start": { "character": 2, "line": 30, }, @@ -169,15 +169,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 68, "line": 38, }, - "start": Object { + "start": { "character": 0, "line": 38, }, @@ -186,15 +186,15 @@ Array [ }, "name": "configures", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 27, "line": 40, }, - "start": Object { + "start": { "character": 0, "line": 40, }, @@ -203,15 +203,15 @@ Array [ }, "name": "npm_config_loglevel", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 31, "line": 48, }, - "start": Object { + "start": { "character": 2, "line": 48, }, @@ -220,15 +220,15 @@ Array [ }, "name": "npm_config_loglevel", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 22, "line": 53, }, - "start": Object { + "start": { "character": 0, "line": 53, }, @@ -237,15 +237,15 @@ Array [ }, "name": "node", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 6, "line": 54, }, - "start": Object { + "start": { "character": 0, "line": 54, }, @@ -254,15 +254,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 15, "line": 69, }, - "start": Object { + "start": { "character": 0, "line": 69, }, @@ -271,15 +271,15 @@ Array [ }, "name": "TMP", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 12, "line": 71, }, - "start": Object { + "start": { "character": 2, "line": 71, }, @@ -288,15 +288,15 @@ Array [ }, "name": "TMP", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 19, "line": 73, }, - "start": Object { + "start": { "character": 0, "line": 73, }, @@ -305,15 +305,15 @@ Array [ }, "name": "TMP", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 11, "line": 81, }, - "start": Object { + "start": { "character": 0, "line": 81, }, @@ -322,15 +322,15 @@ Array [ }, "name": "BACK", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 5, "line": 83, }, - "start": Object { + "start": { "character": 0, "line": 83, }, @@ -339,15 +339,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 12, "line": 84, }, - "start": Object { + "start": { "character": 0, "line": 84, }, @@ -356,15 +356,15 @@ Array [ }, "name": "tar", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 25, "line": 86, }, - "start": Object { + "start": { "character": 2, "line": 86, }, @@ -373,15 +373,15 @@ Array [ }, "name": "tar", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 22, "line": 89, }, - "start": Object { + "start": { "character": 2, "line": 89, }, @@ -390,15 +390,15 @@ Array [ }, "name": "tar", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 8, "line": 90, }, - "start": Object { + "start": { "character": 2, "line": 90, }, @@ -407,15 +407,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 8, "line": 97, }, - "start": Object { + "start": { "character": 2, "line": 97, }, @@ -424,15 +424,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 11, "line": 116, }, - "start": Object { + "start": { "character": 0, "line": 116, }, @@ -441,15 +441,15 @@ Array [ }, "name": "MAKE", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 25, "line": 119, }, - "start": Object { + "start": { "character": 2, "line": 119, }, @@ -458,15 +458,15 @@ Array [ }, "name": "make", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 26, "line": 123, }, - "start": Object { + "start": { "character": 4, "line": 123, }, @@ -475,15 +475,15 @@ Array [ }, "name": "make", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 17, "line": 127, }, - "start": Object { + "start": { "character": 6, "line": 127, }, @@ -492,15 +492,15 @@ Array [ }, "name": "make", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 14, "line": 131, }, - "start": Object { + "start": { "character": 2, "line": 131, }, @@ -509,15 +509,15 @@ Array [ }, "name": "make", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 13, "line": 138, }, - "start": Object { + "start": { "character": 2, "line": 138, }, @@ -526,15 +526,15 @@ Array [ }, "name": "make", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 12, "line": 145, }, - "start": Object { + "start": { "character": 2, "line": 145, }, @@ -543,15 +543,15 @@ Array [ }, "name": "clean", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 37, "line": 148, }, - "start": Object { + "start": { "character": 0, "line": 148, }, @@ -560,15 +560,15 @@ Array [ }, "name": "node_version", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 6, "line": 149, }, - "start": Object { + "start": { "character": 0, "line": 149, }, @@ -577,15 +577,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 18, "line": 158, }, - "start": Object { + "start": { "character": 0, "line": 158, }, @@ -594,15 +594,15 @@ Array [ }, "name": "t", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 16, "line": 170, }, - "start": Object { + "start": { "character": 6, "line": 170, }, @@ -611,15 +611,15 @@ Array [ }, "name": "t", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 25, "line": 179, }, - "start": Object { + "start": { "character": 0, "line": 177, }, @@ -628,15 +628,15 @@ Array [ }, "name": "url", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 6, "line": 181, }, - "start": Object { + "start": { "character": 0, "line": 181, }, @@ -645,15 +645,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 9, "line": 183, }, - "start": Object { + "start": { "character": 2, "line": 183, }, @@ -662,15 +662,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 24, "line": 187, }, - "start": Object { + "start": { "character": 2, "line": 185, }, @@ -679,15 +679,15 @@ Array [ }, "name": "url", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 8, "line": 188, }, - "start": Object { + "start": { "character": 2, "line": 188, }, @@ -696,15 +696,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 11, "line": 190, }, - "start": Object { + "start": { "character": 4, "line": 190, }, @@ -713,15 +713,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 65, "line": 205, }, - "start": Object { + "start": { "character": 6, "line": 205, }, @@ -730,15 +730,15 @@ Array [ }, "name": "ver", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 15, "line": 206, }, - "start": Object { + "start": { "character": 6, "line": 206, }, @@ -747,15 +747,15 @@ Array [ }, "name": "isnpm10", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 21, "line": 211, }, - "start": Object { + "start": { "character": 12, "line": 211, }, @@ -764,15 +764,15 @@ Array [ }, "name": "isnpm10", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 21, "line": 215, }, - "start": Object { + "start": { "character": 12, "line": 215, }, @@ -781,15 +781,15 @@ Array [ }, "name": "isnpm10", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 11, "line": 220, }, - "start": Object { + "start": { "character": 6, "line": 220, }, @@ -798,15 +798,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 18, "line": 225, }, - "start": Object { + "start": { "character": 10, "line": 225, }, @@ -815,15 +815,15 @@ Array [ }, "name": "clean", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 15, "line": 230, }, - "start": Object { + "start": { "character": 10, "line": 230, }, @@ -832,15 +832,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 22, "line": 232, }, - "start": Object { + "start": { "character": 10, "line": 232, }, @@ -849,15 +849,15 @@ Array [ }, "name": "NODE", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 16, "line": 233, }, - "start": Object { + "start": { "character": 10, "line": 233, }, @@ -866,15 +866,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 22, "line": 235, }, - "start": Object { + "start": { "character": 10, "line": 235, }, @@ -883,15 +883,15 @@ Array [ }, "name": "NODE", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 16, "line": 236, }, - "start": Object { + "start": { "character": 10, "line": 236, }, @@ -900,15 +900,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 21, "line": 255, }, - "start": Object { + "start": { "character": 8, "line": 255, }, @@ -917,15 +917,15 @@ Array [ }, "name": "make", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 6, "line": 265, }, - "start": Object { + "start": { "character": 0, "line": 265, }, @@ -934,15 +934,15 @@ Array [ }, "name": "ret", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 24, "line": 273, }, - "start": Object { + "start": { "character": 5, "line": 273, }, diff --git a/server/src/__tests__/analyzer.test.ts b/server/src/__tests__/analyzer.test.ts index f1de65bc2..4786909a2 100644 --- a/server/src/__tests__/analyzer.test.ts +++ b/server/src/__tests__/analyzer.test.ts @@ -69,15 +69,15 @@ describe('analyze', () => { document: FIXTURE_DOCUMENT.MISSING_NODE, }) expect(diagnostics).toMatchInlineSnapshot(` - Array [ - Object { - "message": "Syntax error: \\"fi\\" missing", - "range": Object { - "end": Object { + [ + { + "message": "Syntax error: "fi" missing", + "range": { + "end": { "character": 0, "line": 12, }, - "start": Object { + "start": { "character": 0, "line": 12, }, @@ -112,19 +112,19 @@ describe('analyze', () => { }) expect(diagnostics).not.toEqual([]) expect(diagnostics).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "message": "Source command could not be analyzed: non-constant source not supported. - Note that enabling the configuration flag \\"includeAllWorkspaceSymbols\\" + Note that enabling the configuration flag "includeAllWorkspaceSymbols" would include all symbols in the workspace regardless of source commands. But be aware that this will lead to false positive suggestions.", - "range": Object { - "end": Object { + "range": { + "end": { "character": 16, "line": 21, }, - "start": Object { + "start": { "character": 2, "line": 21, }, @@ -157,14 +157,14 @@ describe('findDeclarationLocations', () => { position: { character: 10, line: 2 }, }) expect(updateSnapshotUris(result)).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { + [ + { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -188,14 +188,14 @@ describe('findDeclarationLocations', () => { position: { character: 10, line: 16 }, }) expect(updateSnapshotUris(result)).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { + [ + { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -215,14 +215,14 @@ describe('findDeclarationLocations', () => { word: 'node_version', }) expect(updateSnapshotUris(result)).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { + [ + { + "range": { + "end": { "character": 37, "line": 148, }, - "start": Object { + "start": { "character": 0, "line": 148, }, @@ -241,14 +241,14 @@ describe('findDeclarationLocations', () => { word: 'X', }) expect(updateSnapshotUris(result)).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { + [ + { + "range": { + "end": { "character": 17, "line": 12, }, - "start": Object { + "start": { "character": 10, "line": 12, }, @@ -267,14 +267,14 @@ describe('findDeclarationLocations', () => { word: 'i', }) expect(updateSnapshotUris(result)).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { + [ + { + "range": { + "end": { "character": 5, "line": 37, }, - "start": Object { + "start": { "character": 4, "line": 37, }, @@ -429,16 +429,16 @@ describe('findDeclarationsMatchingWord', () => { }), ), ).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 27, "line": 40, }, - "start": Object { + "start": { "character": 0, "line": 40, }, @@ -457,7 +457,7 @@ describe('findDeclarationsMatchingWord', () => { exactMatch: false, position: { line: 1000, character: 0 }, }), - ).toMatchInlineSnapshot(`Array []`) + ).toMatchInlineSnapshot(`[]`) expect( updateSnapshotUris( @@ -469,16 +469,16 @@ describe('findDeclarationsMatchingWord', () => { }), ), ).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 25, "line": 6, }, - "start": Object { + "start": { "character": 6, "line": 6, }, @@ -500,16 +500,16 @@ describe('findDeclarationsMatchingWord', () => { }), ), ).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 25, "line": 6, }, - "start": Object { + "start": { "character": 6, "line": 6, }, @@ -535,7 +535,7 @@ describe('findDeclarationsMatchingWord', () => { exactMatch: false, position: { line: 1000, character: 0 }, }), - ).toMatchInlineSnapshot(`Array []`) + ).toMatchInlineSnapshot(`[]`) expect( updateSnapshotUris( @@ -547,16 +547,16 @@ describe('findDeclarationsMatchingWord', () => { }), ), ).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 25, "line": 6, }, - "start": Object { + "start": { "character": 6, "line": 6, }, @@ -609,16 +609,16 @@ describe('findDeclarationsMatchingWord', () => { // First definition expect(updateSnapshotUris(findWordFromLine('X', 3))).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 9, "line": 2, }, - "start": Object { + "start": { "character": 0, "line": 2, }, @@ -632,17 +632,17 @@ describe('findDeclarationsMatchingWord', () => { // Local variable definition expect(updateSnapshotUris(findWordFromLine('X', 13))).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "containerName": "g", "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 17, "line": 12, }, - "start": Object { + "start": { "character": 10, "line": 12, }, @@ -656,17 +656,17 @@ describe('findDeclarationsMatchingWord', () => { // Local function definition expect(updateSnapshotUris(findWordFromLine('f', 23))).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "containerName": "g", "kind": 12, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 5, "line": 21, }, - "start": Object { + "start": { "character": 4, "line": 18, }, @@ -680,16 +680,16 @@ describe('findDeclarationsMatchingWord', () => { // Last definition expect(updateSnapshotUris(findWordFromLine('X', 1000))).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 9, "line": 4, }, - "start": Object { + "start": { "character": 0, "line": 4, }, @@ -702,16 +702,16 @@ describe('findDeclarationsMatchingWord', () => { `) expect(updateSnapshotUris(findWordFromLine('f', 1000))).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 12, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 1, "line": 30, }, - "start": Object { + "start": { "character": 0, "line": 7, }, @@ -725,17 +725,17 @@ describe('findDeclarationsMatchingWord', () => { // Global variable defined inside a function expect(updateSnapshotUris(findWordFromLine('GLOBAL_1', 1000))).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "containerName": "g", "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 23, "line": 13, }, - "start": Object { + "start": { "character": 4, "line": 13, }, @@ -876,16 +876,16 @@ describe('getAllVariables', () => { }), ), ).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 16, "line": 10, }, - "start": Object { + "start": { "character": 0, "line": 10, }, @@ -894,15 +894,15 @@ describe('getAllVariables', () => { }, "name": "BOLD", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 18, "line": 4, }, - "start": Object { + "start": { "character": 0, "line": 4, }, @@ -911,15 +911,15 @@ describe('getAllVariables', () => { }, "name": "RED", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 20, "line": 5, }, - "start": Object { + "start": { "character": 0, "line": 5, }, @@ -928,15 +928,15 @@ describe('getAllVariables', () => { }, "name": "GREEN", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 25, "line": 6, }, - "start": Object { + "start": { "character": 6, "line": 6, }, @@ -945,15 +945,15 @@ describe('getAllVariables', () => { }, "name": "BLUE", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 23, "line": 7, }, - "start": Object { + "start": { "character": 7, "line": 7, }, @@ -962,15 +962,15 @@ describe('getAllVariables', () => { }, "name": "BOLD", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 19, "line": 10, }, - "start": Object { + "start": { "character": 2, "line": 10, }, @@ -979,15 +979,15 @@ describe('getAllVariables', () => { }, "name": "RESET", }, - Object { + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 14, "line": 25, }, - "start": Object { + "start": { "character": 5, "line": 25, }, diff --git a/server/src/__tests__/config.test.ts b/server/src/__tests__/config.test.ts index b4ee28a24..b1bd37ce2 100644 --- a/server/src/__tests__/config.test.ts +++ b/server/src/__tests__/config.test.ts @@ -4,13 +4,13 @@ import { LOG_LEVEL_ENV_VAR } from '../util/logger' describe('ConfigSchema', () => { it('returns a default', () => { expect(ConfigSchema.parse({})).toMatchInlineSnapshot(` - Object { + { "backgroundAnalysisMaxFiles": 500, "explainshellEndpoint": "", "globPattern": "**/*@(.sh|.inc|.bash|.command)", "includeAllWorkspaceSymbols": false, "logLevel": "info", - "shellcheckArguments": Array [], + "shellcheckArguments": [], "shellcheckPath": "shellcheck", } `) @@ -26,13 +26,13 @@ describe('ConfigSchema', () => { shellcheckPath: '', }), ).toMatchInlineSnapshot(` - Object { + { "backgroundAnalysisMaxFiles": 1, "explainshellEndpoint": "localhost:8080", "globPattern": "**/*@(.sh)", "includeAllWorkspaceSymbols": true, "logLevel": "info", - "shellcheckArguments": Array [ + "shellcheckArguments": [ "-e", "SC2001", "-e", @@ -56,13 +56,13 @@ describe('getConfigFromEnvironmentVariables', () => { process.env = {} const { config } = getConfigFromEnvironmentVariables() expect(config).toMatchInlineSnapshot(` - Object { + { "backgroundAnalysisMaxFiles": 500, "explainshellEndpoint": "", "globPattern": "**/*@(.sh|.inc|.bash|.command)", "includeAllWorkspaceSymbols": false, "logLevel": "info", - "shellcheckArguments": Array [], + "shellcheckArguments": [], "shellcheckPath": "shellcheck", } `) @@ -74,13 +74,13 @@ describe('getConfigFromEnvironmentVariables', () => { } const { config } = getConfigFromEnvironmentVariables() expect(config).toMatchInlineSnapshot(` - Object { + { "backgroundAnalysisMaxFiles": 500, "explainshellEndpoint": "", "globPattern": "**/*@(.sh|.inc|.bash|.command)", "includeAllWorkspaceSymbols": false, "logLevel": "info", - "shellcheckArguments": Array [], + "shellcheckArguments": [], "shellcheckPath": "", } `) @@ -97,13 +97,13 @@ describe('getConfigFromEnvironmentVariables', () => { } const { config } = getConfigFromEnvironmentVariables() expect(config).toMatchInlineSnapshot(` - Object { + { "backgroundAnalysisMaxFiles": 1, "explainshellEndpoint": "localhost:8080", "globPattern": "*.*", "includeAllWorkspaceSymbols": false, "logLevel": "error", - "shellcheckArguments": Array [ + "shellcheckArguments": [ "-e", "SC2001", ], diff --git a/server/src/__tests__/server.test.ts b/server/src/__tests__/server.test.ts index de421817f..59a3d770f 100644 --- a/server/src/__tests__/server.test.ts +++ b/server/src/__tests__/server.test.ts @@ -70,17 +70,17 @@ describe('server', () => { it('initializes and responds to capabilities', async () => { const { server } = await initializeServer() expect(server.capabilities()).toMatchInlineSnapshot(` - Object { - "codeActionProvider": Object { - "codeActionKinds": Array [ + { + "codeActionProvider": { + "codeActionKinds": [ "quickfix", ], "resolveProvider": false, "workDoneProgress": false, }, - "completionProvider": Object { + "completionProvider": { "resolveProvider": true, - "triggerCharacters": Array [ + "triggerCharacters": [ "$", "{", ], @@ -177,21 +177,21 @@ describe('server', () => { const fixableDiagnostic = diagnostics.filter(({ code }) => code === 'SC2086')[0] expect(fixableDiagnostic).toMatchInlineSnapshot(` - Object { + { "code": "SC2086", - "codeDescription": Object { + "codeDescription": { "href": "https://www.shellcheck.net/wiki/SC2086", }, - "data": Object { + "data": { "id": "shellcheck|2086|55:5-55:13", }, "message": "Double quote to prevent globbing and word splitting.", - "range": Object { - "end": Object { + "range": { + "end": { "character": 13, "line": 55, }, - "start": Object { + "start": { "character": 5, "line": 55, }, @@ -226,35 +226,35 @@ describe('server', () => { expect( codeAction.edit?.changes && codeAction.edit?.changes[FIXTURE_URI.COMMENT_DOC], ).toMatchInlineSnapshot(` - Array [ - Object { - "newText": "\\"", - "range": Object { - "end": Object { - "character": 13, - "line": 55, - }, - "start": Object { - "character": 13, - "line": 55, - }, - }, - }, - Object { - "newText": "\\"", - "range": Object { - "end": Object { - "character": 5, - "line": 55, - }, - "start": Object { - "character": 5, - "line": 55, - }, - }, - }, - ] - `) + [ + { + "newText": """, + "range": { + "end": { + "character": 13, + "line": 55, + }, + "start": { + "character": 13, + "line": 55, + }, + }, + }, + { + "newText": """, + "range": { + "end": { + "character": 5, + "line": 55, + }, + "start": { + "character": 5, + "line": 55, + }, + }, + }, + ] + `) }) }) @@ -454,20 +454,20 @@ describe('server', () => { ) expect(resultVariable).toMatchInlineSnapshot(` - Array [ - Object { - "data": Object { - "type": 3, - }, - "documentation": Object { - "kind": "markdown", - "value": "Variable: **BLUE** - *defined in extension.inc*", - }, - "kind": 6, - "label": "BLUE", - }, - ] - `) + [ + { + "data": { + "type": 3, + }, + "documentation": { + "kind": "markdown", + "value": "Variable: **BLUE** - *defined in extension.inc*", + }, + "kind": 6, + "label": "BLUE", + }, + ] + `) const resultFunction = await onCompletion( { @@ -485,24 +485,24 @@ describe('server', () => { ) expect(resultFunction).toMatchInlineSnapshot(` - Array [ - Object { - "data": Object { - "type": 3, - }, - "documentation": Object { - "kind": "markdown", - "value": "Function: **add_a_user** - *defined in issue101.sh* - - \`\`\`txt - Helper function to add a user - \`\`\`", - }, - "kind": 3, - "label": "add_a_user", - }, - ] - `) + [ + { + "data": { + "type": 3, + }, + "documentation": { + "kind": "markdown", + "value": "Function: **add_a_user** - *defined in issue101.sh* + + \`\`\`txt + Helper function to add a user + \`\`\`", + }, + "kind": 3, + "label": "add_a_user", + }, + ] + `) }) it('responds to onCompletion with local symbol when word is found in multiple files', async () => { @@ -526,17 +526,17 @@ describe('server', () => { ) expect(result).toMatchInlineSnapshot(` - Array [ - Object { - "data": Object { - "type": 3, - }, - "documentation": undefined, - "kind": 6, - "label": "BOLD", - }, - ] - `) + [ + { + "data": { + "type": 3, + }, + "documentation": undefined, + "kind": 6, + "label": "BOLD", + }, + ] + `) }) it('responds to onCompletion with all variables when starting to expand parameters', async () => { @@ -561,64 +561,64 @@ describe('server', () => { // they are all variables expect(result).toMatchInlineSnapshot(` - Array [ - Object { - "data": Object { + [ + { + "data": { "type": 3, }, "documentation": undefined, "kind": 6, "label": "BOLD", }, - Object { - "data": Object { + { + "data": { "type": 3, }, - "documentation": Object { + "documentation": { "kind": "markdown", "value": "Variable: **RED** - *defined in extension.inc*", }, "kind": 6, "label": "RED", }, - Object { - "data": Object { + { + "data": { "type": 3, }, - "documentation": Object { + "documentation": { "kind": "markdown", "value": "Variable: **GREEN** - *defined in extension.inc*", }, "kind": 6, "label": "GREEN", }, - Object { - "data": Object { + { + "data": { "type": 3, }, - "documentation": Object { + "documentation": { "kind": "markdown", "value": "Variable: **BLUE** - *defined in extension.inc*", }, "kind": 6, "label": "BLUE", }, - Object { - "data": Object { + { + "data": { "type": 3, }, - "documentation": Object { + "documentation": { "kind": "markdown", "value": "Variable: **RESET** - *defined in extension.inc*", }, "kind": 6, "label": "RESET", }, - Object { - "data": Object { + { + "data": { "type": 3, }, - "documentation": Object { + "documentation": { "kind": "markdown", "value": "Variable: **FILE_PATH** - *defined in extension.inc*", }, @@ -693,14 +693,14 @@ describe('server', () => { ) expect(updateSnapshotUris(result)).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { + [ + { + "range": { + "end": { "character": 0, "line": 0, }, - "start": Object { + "start": { "character": 0, "line": 0, }, @@ -734,33 +734,33 @@ describe('server', () => { ) expect(result1).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { - "character": 12, - "line": 0, - }, - "start": Object { - "character": 9, - "line": 0, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 28, - "line": 1, - }, - "start": Object { - "character": 25, - "line": 1, - }, - }, - }, - ] - `) + [ + { + "range": { + "end": { + "character": 12, + "line": 0, + }, + "start": { + "character": 9, + "line": 0, + }, + }, + }, + { + "range": { + "end": { + "character": 28, + "line": 1, + }, + "start": { + "character": 25, + "line": 1, + }, + }, + }, + ] + `) const result2 = await onDocumentHighlight( { @@ -777,7 +777,7 @@ describe('server', () => { {} as any, ) - expect(result2).toMatchInlineSnapshot(`Array []`) + expect(result2).toMatchInlineSnapshot(`[]`) const result3 = await onDocumentHighlight( { @@ -795,117 +795,117 @@ describe('server', () => { ) expect(result3).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { - "character": 1, - "line": 2, - }, - "start": Object { - "character": 0, - "line": 2, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 1, - "line": 4, - }, - "start": Object { - "character": 0, - "line": 4, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 9, - "line": 8, - }, - "start": Object { - "character": 8, - "line": 8, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 11, - "line": 12, - }, - "start": Object { - "character": 10, - "line": 12, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 13, - "line": 15, - }, - "start": Object { - "character": 12, - "line": 15, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 13, - "line": 19, - }, - "start": Object { - "character": 12, - "line": 19, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 15, - "line": 20, - }, - "start": Object { - "character": 14, - "line": 20, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 11, - "line": 29, - }, - "start": Object { - "character": 10, - "line": 29, - }, - }, - }, - Object { - "range": Object { - "end": Object { - "character": 9, - "line": 32, - }, - "start": Object { - "character": 8, - "line": 32, - }, - }, - }, - ] - `) + [ + { + "range": { + "end": { + "character": 1, + "line": 2, + }, + "start": { + "character": 0, + "line": 2, + }, + }, + }, + { + "range": { + "end": { + "character": 1, + "line": 4, + }, + "start": { + "character": 0, + "line": 4, + }, + }, + }, + { + "range": { + "end": { + "character": 9, + "line": 8, + }, + "start": { + "character": 8, + "line": 8, + }, + }, + }, + { + "range": { + "end": { + "character": 11, + "line": 12, + }, + "start": { + "character": 10, + "line": 12, + }, + }, + }, + { + "range": { + "end": { + "character": 13, + "line": 15, + }, + "start": { + "character": 12, + "line": 15, + }, + }, + }, + { + "range": { + "end": { + "character": 13, + "line": 19, + }, + "start": { + "character": 12, + "line": 19, + }, + }, + }, + { + "range": { + "end": { + "character": 15, + "line": 20, + }, + "start": { + "character": 14, + "line": 20, + }, + }, + }, + { + "range": { + "end": { + "character": 11, + "line": 29, + }, + "start": { + "character": 10, + "line": 29, + }, + }, + }, + { + "range": { + "end": { + "character": 9, + "line": 32, + }, + "start": { + "character": 8, + "line": 32, + }, + }, + }, + ] + `) }) }) @@ -926,16 +926,16 @@ describe('server', () => { ) expect(updateSnapshotUris(result)).toMatchInlineSnapshot(` - Array [ - Object { + [ + { "kind": 13, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 16, "line": 10, }, - "start": Object { + "start": { "character": 0, "line": 10, }, @@ -944,15 +944,15 @@ describe('server', () => { }, "name": "BOLD", }, - Object { + { "kind": 12, - "location": Object { - "range": Object { - "end": Object { + "location": { + "range": { + "end": { "character": 1, "line": 22, }, - "start": Object { + "start": { "character": 0, "line": 20, }, @@ -1005,20 +1005,20 @@ describe('server', () => { }) expect(result).toMatchInlineSnapshot(` - Object { - "contents": Object { - "kind": "markdown", - "value": "Function: **hello_world** - *defined on line 8* - - \`\`\`txt - this is a comment - describing the function - hello_world - this function takes two arguments - \`\`\`", - }, - } - `) + { + "contents": { + "kind": "markdown", + "value": "Function: **hello_world** - *defined on line 8* + + \`\`\`txt + this is a comment + describing the function + hello_world + this function takes two arguments + \`\`\`", + }, + } + `) }) it('displays correct documentation for symbols in file that override path executables', async () => { @@ -1028,17 +1028,17 @@ describe('server', () => { }) expect(result).toMatchInlineSnapshot(` - Object { - "contents": Object { - "kind": "markdown", - "value": "Function: **ls** - *defined on line 6* - - \`\`\`txt - override documentation for \`ls\` symbol - \`\`\`", - }, - } - `) + { + "contents": { + "kind": "markdown", + "value": "Function: **ls** - *defined on line 6* + + \`\`\`txt + override documentation for \`ls\` symbol + \`\`\`", + }, + } + `) }) it('returns executable documentation if the function is not redefined', async () => { @@ -1192,53 +1192,53 @@ describe('server', () => { }) expect(resultIncludingCurrentSymbol).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { + [ + { + "range": { + "end": { "character": 19, "line": 40, }, - "start": Object { + "start": { "character": 0, "line": 40, }, }, "uri": "file://__REPO_ROOT_FOLDER__/testing/fixtures/install.sh", }, - Object { - "range": Object { - "end": Object { + { + "range": { + "end": { "character": 21, "line": 48, }, - "start": Object { + "start": { "character": 2, "line": 48, }, }, "uri": "file://__REPO_ROOT_FOLDER__/testing/fixtures/install.sh", }, - Object { - "range": Object { - "end": Object { + { + "range": { + "end": { "character": 26, "line": 50, }, - "start": Object { + "start": { "character": 7, "line": 50, }, }, "uri": "file://__REPO_ROOT_FOLDER__/testing/fixtures/install.sh", }, - Object { - "range": Object { - "end": Object { + { + "range": { + "end": { "character": 26, "line": 42, }, - "start": Object { + "start": { "character": 7, "line": 42, }, @@ -1249,40 +1249,40 @@ describe('server', () => { `) expect(resultExcludingCurrentSymbol).toMatchInlineSnapshot(` - Array [ - Object { - "range": Object { - "end": Object { + [ + { + "range": { + "end": { "character": 19, "line": 40, }, - "start": Object { + "start": { "character": 0, "line": 40, }, }, "uri": "file://__REPO_ROOT_FOLDER__/testing/fixtures/install.sh", }, - Object { - "range": Object { - "end": Object { + { + "range": { + "end": { "character": 21, "line": 48, }, - "start": Object { + "start": { "character": 2, "line": 48, }, }, "uri": "file://__REPO_ROOT_FOLDER__/testing/fixtures/install.sh", }, - Object { - "range": Object { - "end": Object { + { + "range": { + "end": { "character": 26, "line": 42, }, - "start": Object { + "start": { "character": 7, "line": 42, }, diff --git a/server/src/shellcheck/__tests__/index.test.ts b/server/src/shellcheck/__tests__/index.test.ts index 27d7621be..c2ad2a698 100644 --- a/server/src/shellcheck/__tests__/index.test.ts +++ b/server/src/shellcheck/__tests__/index.test.ts @@ -75,25 +75,25 @@ describe('linter', () => { const [result] = await getLintingResult({ document: textToDoc(shell) }) expect(result).toMatchInlineSnapshot(` - Object { - "codeActions": Object { - "shellcheck|2086|1:5-1:9": Object { - "diagnostics": Array [ - Object { + { + "codeActions": { + "shellcheck|2086|1:5-1:9": { + "diagnostics": [ + { "code": "SC2086", - "codeDescription": Object { + "codeDescription": { "href": "https://www.shellcheck.net/wiki/SC2086", }, - "data": Object { + "data": { "id": "shellcheck|2086|1:5-1:9", }, "message": "Double quote to prevent globbing and word splitting.", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 1, }, - "start": Object { + "start": { "character": 5, "line": 1, }, @@ -103,30 +103,30 @@ describe('linter', () => { "tags": undefined, }, ], - "edit": Object { - "changes": Object { - "${FIXTURE_DOCUMENT_URI}": Array [ - Object { - "newText": "\\"", - "range": Object { - "end": Object { + "edit": { + "changes": { + "${FIXTURE_DOCUMENT_URI}": [ + { + "newText": """, + "range": { + "end": { "character": 9, "line": 1, }, - "start": Object { + "start": { "character": 9, "line": 1, }, }, }, - Object { - "newText": "\\"", - "range": Object { - "end": Object { + { + "newText": """, + "range": { + "end": { "character": 5, "line": 1, }, - "start": Object { + "start": { "character": 5, "line": 1, }, @@ -139,22 +139,22 @@ describe('linter', () => { "title": "Apply fix for SC2086", }, }, - "diagnostics": Array [ - Object { + "diagnostics": [ + { "code": "SC2154", - "codeDescription": Object { + "codeDescription": { "href": "https://www.shellcheck.net/wiki/SC2154", }, - "data": Object { + "data": { "id": "shellcheck|2154|1:5-1:9", }, "message": "foo is referenced but not assigned.", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 1, }, - "start": Object { + "start": { "character": 5, "line": 1, }, @@ -163,21 +163,21 @@ describe('linter', () => { "source": "shellcheck", "tags": undefined, }, - Object { + { "code": "SC2086", - "codeDescription": Object { + "codeDescription": { "href": "https://www.shellcheck.net/wiki/SC2086", }, - "data": Object { + "data": { "id": "shellcheck|2086|1:5-1:9", }, "message": "Double quote to prevent globbing and word splitting.", - "range": Object { - "end": Object { + "range": { + "end": { "character": 9, "line": 1, }, - "start": Object { + "start": { "character": 5, "line": 1, }, @@ -230,24 +230,24 @@ describe('linter', () => { }) expect(result).toMatchInlineSnapshot(` - Object { - "codeActions": Object {}, - "diagnostics": Array [ - Object { + { + "codeActions": {}, + "diagnostics": [ + { "code": "SC1091", - "codeDescription": Object { + "codeDescription": { "href": "https://www.shellcheck.net/wiki/SC1091", }, - "data": Object { + "data": { "id": "shellcheck|1091|3:7-3:19", }, "message": "Not following: shellcheck/sourced.sh: openBinaryFile: does not exist (No such file or directory)", - "range": Object { - "end": Object { + "range": { + "end": { "character": 19, "line": 3, }, - "start": Object { + "start": { "character": 7, "line": 3, }, @@ -256,21 +256,21 @@ describe('linter', () => { "source": "shellcheck", "tags": undefined, }, - Object { + { "code": "SC2154", - "codeDescription": Object { + "codeDescription": { "href": "https://www.shellcheck.net/wiki/SC2154", }, - "data": Object { + "data": { "id": "shellcheck|2154|5:6-5:10", }, "message": "foo is referenced but not assigned.", - "range": Object { - "end": Object { + "range": { + "end": { "character": 10, "line": 5, }, - "start": Object { + "start": { "character": 6, "line": 5, }, diff --git a/server/src/util/__tests__/__snapshots__/sh.test.ts.snap b/server/src/util/__tests__/__snapshots__/sh.test.ts.snap index b0cb93372..c7adaf75d 100644 Binary files a/server/src/util/__tests__/__snapshots__/sh.test.ts.snap and b/server/src/util/__tests__/__snapshots__/sh.test.ts.snap differ diff --git a/server/src/util/__tests__/__snapshots__/sourcing.test.ts.snap b/server/src/util/__tests__/__snapshots__/sourcing.test.ts.snap index 229a7c129..a00b6a26d 100644 --- a/server/src/util/__tests__/__snapshots__/sourcing.test.ts.snap +++ b/server/src/util/__tests__/__snapshots__/sourcing.test.ts.snap @@ -1,183 +1,183 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`getSourcedUris returns a set of sourced files 2`] = ` -Array [ - Object { +[ + { "error": null, - "range": Object { - "end": Object { + "range": { + "end": { "character": 28, "line": 1, }, - "start": Object { + "start": { "character": 6, "line": 1, }, }, "uri": "file:///Users/bash/file-in-path.sh", }, - Object { + { "error": null, - "range": Object { - "end": Object { + "range": { + "end": { "character": 33, "line": 3, }, - "start": Object { + "start": { "character": 6, "line": 3, }, }, "uri": "file:///bin/extension.inc", }, - Object { + { "error": null, - "range": Object { - "end": Object { + "range": { + "end": { "character": 22, "line": 5, }, - "start": Object { + "start": { "character": 6, "line": 5, }, }, "uri": "file:///Users/bash/x", }, - Object { + { "error": null, - "range": Object { - "end": Object { + "range": { + "end": { "character": 36, "line": 7, }, - "start": Object { + "start": { "character": 6, "line": 7, }, }, "uri": "file:///Users/scripts/release-client.sh", }, - Object { + { "error": null, - "range": Object { - "end": Object { + "range": { + "end": { "character": 23, "line": 9, }, - "start": Object { + "start": { "character": 6, "line": 9, }, }, "uri": "file:///Users/bash-user/myscript", }, - Object { + { "error": "non-constant source not supported", - "range": Object { - "end": Object { + "range": { + "end": { "character": 23, "line": 13, }, - "start": Object { + "start": { "character": 6, "line": 13, }, }, "uri": null, }, - Object { + { "error": "non-constant source not supported", - "range": Object { - "end": Object { + "range": { + "end": { "character": 66, "line": 16, }, - "start": Object { + "start": { "character": 49, "line": 16, }, }, "uri": null, }, - Object { + { "error": "non-constant source not supported", - "range": Object { - "end": Object { + "range": { + "end": { "character": 66, "line": 18, }, - "start": Object { + "start": { "character": 6, "line": 18, }, }, "uri": null, }, - Object { + { "error": null, - "range": Object { - "end": Object { + "range": { + "end": { "character": 30, "line": 25, }, - "start": Object { + "start": { "character": 8, "line": 25, }, }, "uri": "file:///Users/bash/issue206.sh", }, - Object { + { "error": "non-constant source not supported", - "range": Object { - "end": Object { + "range": { + "end": { "character": 22, "line": 47, }, - "start": Object { + "start": { "character": 8, "line": 47, }, }, "uri": null, }, - Object { + { "error": "non-constant source not supported", - "range": Object { - "end": Object { + "range": { + "end": { "character": 39, "line": 59, }, - "start": Object { + "start": { "character": 8, "line": 59, }, }, "uri": null, }, - Object { + { "error": "non-constant source not supported", - "range": Object { - "end": Object { + "range": { + "end": { "character": 42, "line": 62, }, - "start": Object { + "start": { "character": 8, "line": 62, }, }, "uri": null, }, - Object { + { "error": "non-constant source not supported", - "range": Object { - "end": Object { + "range": { + "end": { "character": 67, "line": 89, }, - "start": Object { + "start": { "character": 10, "line": 89, }, diff --git a/yarn.lock b/yarn.lock index ba77a1f41..319f45020 100644 --- a/yarn.lock +++ b/yarn.lock @@ -122,6 +122,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz#aa3a8ab4c3cceff8e65eb9e73d87dc4ff320b2f5" integrity sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA== +"@babel/helper-plugin-utils@^7.18.6": + version "7.20.2" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" + integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== + "@babel/helper-simple-access@^7.17.7": version "7.17.7" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz#aaa473de92b7987c6dfa7ce9a7d9674724823367" @@ -218,6 +223,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.18.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== + dependencies: + "@babel/helper-plugin-utils" "^7.18.6" + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -378,110 +390,110 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== -"@jest/console@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.3.tgz#2030606ec03a18c31803b8a36382762e447655df" - integrity sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw== +"@jest/console@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.4.1.tgz#cbc31d73f6329f693b3d34b365124de797704fff" + integrity sha512-m+XpwKSi3PPM9znm5NGS8bBReeAJJpSkL1OuFCqaMaJL2YX9YXLkkI+MBchMPwu+ZuM2rynL51sgfkQteQ1CKQ== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + jest-message-util "^29.4.1" + jest-util "^29.4.1" slash "^3.0.0" -"@jest/core@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.3.tgz#0ebf2bd39840f1233cd5f2d1e6fc8b71bd5a1ac7" - integrity sha512-CIKBrlaKOzA7YG19BEqCw3SLIsEwjZkeJzf5bdooVnW4bH5cktqe3JX+G2YV1aK5vP8N9na1IGWFzYaTp6k6NA== +"@jest/core@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.4.1.tgz#91371179b5959951e211dfaeea4277a01dcca14f" + integrity sha512-RXFTohpBqpaTebNdg5l3I5yadnKo9zLBajMT0I38D0tDhreVBYv3fA8kywthI00sWxPztWLD3yjiUkewwu/wKA== dependencies: - "@jest/console" "^28.1.3" - "@jest/reporters" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/console" "^29.4.1" + "@jest/reporters" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^28.1.3" - jest-config "^28.1.3" - jest-haste-map "^28.1.3" - jest-message-util "^28.1.3" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-resolve-dependencies "^28.1.3" - jest-runner "^28.1.3" - jest-runtime "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" - jest-watcher "^28.1.3" + jest-changed-files "^29.4.0" + jest-config "^29.4.1" + jest-haste-map "^29.4.1" + jest-message-util "^29.4.1" + jest-regex-util "^29.2.0" + jest-resolve "^29.4.1" + jest-resolve-dependencies "^29.4.1" + jest-runner "^29.4.1" + jest-runtime "^29.4.1" + jest-snapshot "^29.4.1" + jest-util "^29.4.1" + jest-validate "^29.4.1" + jest-watcher "^29.4.1" micromatch "^4.0.4" - pretty-format "^28.1.3" - rimraf "^3.0.0" + pretty-format "^29.4.1" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.3.tgz#abed43a6b040a4c24fdcb69eab1f97589b2d663e" - integrity sha512-1bf40cMFTEkKyEf585R9Iz1WayDjHoHqvts0XFYEqyKM3cFWDpeMoqKKTAF9LSYQModPUlh8FKptoM2YcMWAXA== +"@jest/environment@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.4.1.tgz#52d232a85cdc995b407a940c89c86568f5a88ffe" + integrity sha512-pJ14dHGSQke7Q3mkL/UZR9ZtTOxqskZaC91NzamEH4dlKRt42W+maRBXiw/LWkdJe+P0f/zDR37+SPMplMRlPg== dependencies: - "@jest/fake-timers" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/fake-timers" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" - jest-mock "^28.1.3" + jest-mock "^29.4.1" -"@jest/expect-utils@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.3.tgz#58561ce5db7cd253a7edddbc051fb39dda50f525" - integrity sha512-wvbi9LUrHJLn3NlDW6wF2hvIMtd4JUl2QNVrjq+IBSHirgfrR3o9RnVtxzdEGO2n9JyIWwHnLfby5KzqBGg2YA== +"@jest/expect-utils@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.4.1.tgz#105b9f3e2c48101f09cae2f0a4d79a1b3a419cbb" + integrity sha512-w6YJMn5DlzmxjO00i9wu2YSozUYRBhIoJ6nQwpMYcBMtiqMGJm1QBzOf6DDgRao8dbtpDoaqLg6iiQTvv0UHhQ== dependencies: - jest-get-type "^28.0.2" + jest-get-type "^29.2.0" -"@jest/expect@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.3.tgz#9ac57e1d4491baca550f6bdbd232487177ad6a72" - integrity sha512-lzc8CpUbSoE4dqT0U+g1qODQjBRHPpCPXissXD4mS9+sWQdmmpeJ9zSH1rS1HEkrsMN0fb7nKrJ9giAR1d3wBw== +"@jest/expect@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.4.1.tgz#3338fa20f547bb6e550c4be37d6f82711cc13c38" + integrity sha512-ZxKJP5DTUNF2XkpJeZIzvnzF1KkfrhEF6Rz0HGG69fHl6Bgx5/GoU3XyaeFYEjuuKSOOsbqD/k72wFvFxc3iTw== dependencies: - expect "^28.1.3" - jest-snapshot "^28.1.3" + expect "^29.4.1" + jest-snapshot "^29.4.1" -"@jest/fake-timers@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.3.tgz#230255b3ad0a3d4978f1d06f70685baea91c640e" - integrity sha512-D/wOkL2POHv52h+ok5Oj/1gOG9HSywdoPtFsRCUmlCILXNn5eIWmcnd3DIiWlJnpGvQtmajqBP95Ei0EimxfLw== +"@jest/fake-timers@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.4.1.tgz#7b673131e8ea2a2045858f08241cace5d518b42b" + integrity sha512-/1joI6rfHFmmm39JxNfmNAO3Nwm6Y0VoL5fJDy7H1AtWrD1CgRtqJbN9Ld6rhAkGO76qqp4cwhhxJ9o9kYjQMw== dependencies: - "@jest/types" "^28.1.3" - "@sinonjs/fake-timers" "^9.1.2" + "@jest/types" "^29.4.1" + "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^28.1.3" - jest-mock "^28.1.3" - jest-util "^28.1.3" + jest-message-util "^29.4.1" + jest-mock "^29.4.1" + jest-util "^29.4.1" -"@jest/globals@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.3.tgz#a601d78ddc5fdef542728309894895b4a42dc333" - integrity sha512-XFU4P4phyryCXu1pbcqMO0GSQcYe1IsalYCDzRNyhetyeyxMcIxa11qPNDpVNLeretItNqEmYYQn1UYz/5x1NA== +"@jest/globals@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.4.1.tgz#3cd78c5567ab0249f09fbd81bf9f37a7328f4713" + integrity sha512-znoK2EuFytbHH0ZSf2mQK2K1xtIgmaw4Da21R2C/NE/+NnItm5mPEFQmn8gmF3f0rfOlmZ3Y3bIf7bFj7DHxAA== dependencies: - "@jest/environment" "^28.1.3" - "@jest/expect" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/environment" "^29.4.1" + "@jest/expect" "^29.4.1" + "@jest/types" "^29.4.1" + jest-mock "^29.4.1" -"@jest/reporters@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.3.tgz#9adf6d265edafc5fc4a434cfb31e2df5a67a369a" - integrity sha512-JuAy7wkxQZVNU/V6g9xKzCGC5LVXx9FDcABKsSXp5MiKPEE2144a/vXTEDoyzjUpZKfVwp08Wqg5A4WfTMAzjg== +"@jest/reporters@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.4.1.tgz#50d509c08575c75e3cd2176d72ec3786419d5e04" + integrity sha512-AISY5xpt2Xpxj9R6y0RF1+O6GRy9JsGa8+vK23Lmzdy1AYcpQn5ItX79wJSsTmfzPKSAcsY1LNt/8Y5Xe5LOSg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" - "@jridgewell/trace-mapping" "^0.3.13" + "@jest/console" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" + "@jridgewell/trace-mapping" "^0.3.15" "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" @@ -493,97 +505,77 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" - jest-worker "^28.1.3" + jest-message-util "^29.4.1" + jest-util "^29.4.1" + jest-worker "^29.4.1" slash "^3.0.0" string-length "^4.0.1" strip-ansi "^6.0.0" - terminal-link "^2.0.0" v8-to-istanbul "^9.0.1" -"@jest/schemas@^28.0.2": - version "28.0.2" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.0.2.tgz#08c30df6a8d07eafea0aef9fb222c5e26d72e613" - integrity sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA== +"@jest/schemas@^29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.0.tgz#0d6ad358f295cc1deca0b643e6b4c86ebd539f17" + integrity sha512-0E01f/gOZeNTG76i5eWWSupvSHaIINrTie7vCyjiYFKgzNdyEGd12BUv4oNBFHOqlHDbtoJi3HrQ38KCC90NsQ== dependencies: - "@sinclair/typebox" "^0.23.3" + "@sinclair/typebox" "^0.25.16" -"@jest/schemas@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.1.3.tgz#ad8b86a66f11f33619e3d7e1dcddd7f2d40ff905" - integrity sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg== +"@jest/source-map@^29.2.0": + version "29.2.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.2.0.tgz#ab3420c46d42508dcc3dc1c6deee0b613c235744" + integrity sha512-1NX9/7zzI0nqa6+kgpSdKPK+WU1p+SJk3TloWZf5MzPbxri9UEeXX5bWZAPCzbQcyuAzubcdUHA7hcNznmRqWQ== dependencies: - "@sinclair/typebox" "^0.24.1" - -"@jest/source-map@^28.1.2": - version "28.1.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.1.2.tgz#7fe832b172b497d6663cdff6c13b0a920e139e24" - integrity sha512-cV8Lx3BeStJb8ipPHnqVw/IM2VCMWO3crWZzYodSIkxXnRcXJipCdx1JCK0K5MsJJouZQTH73mzf4vgxRaH9ww== - dependencies: - "@jridgewell/trace-mapping" "^0.3.13" + "@jridgewell/trace-mapping" "^0.3.15" callsites "^3.0.0" graceful-fs "^4.2.9" -"@jest/test-result@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.3.tgz#5eae945fd9f4b8fcfce74d239e6f725b6bf076c5" - integrity sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg== +"@jest/test-result@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.4.1.tgz#997f19695e13b34779ceb3c288a416bd26c3238d" + integrity sha512-WRt29Lwt+hEgfN8QDrXqXGgCTidq1rLyFqmZ4lmJOpVArC8daXrZWkWjiaijQvgd3aOUj2fM8INclKHsQW9YyQ== dependencies: - "@jest/console" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/console" "^29.4.1" + "@jest/types" "^29.4.1" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.3.tgz#9d0c283d906ac599c74bde464bc0d7e6a82886c3" - integrity sha512-NIMPEqqa59MWnDi1kvXXpYbqsfQmSJsIbnd85mdVGkiDfQ9WQQTXOLsvISUfonmnBT+w85WEgneCigEEdHDFxw== +"@jest/test-sequencer@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.4.1.tgz#f7a006ec7058b194a10cf833c88282ef86d578fd" + integrity sha512-v5qLBNSsM0eHzWLXsQ5fiB65xi49A3ILPSFQKPXzGL4Vyux0DPZAIN7NAFJa9b4BiTDP9MBF/Zqc/QA1vuiJ0w== dependencies: - "@jest/test-result" "^28.1.3" + "@jest/test-result" "^29.4.1" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" + jest-haste-map "^29.4.1" slash "^3.0.0" -"@jest/transform@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.3.tgz#59d8098e50ab07950e0f2fc0fc7ec462371281b0" - integrity sha512-u5dT5di+oFI6hfcLOHGTAfmUxFRrjK+vnaP0kkVow9Md/M7V/MxqQMOz/VV25UZO8pzeA9PjfTpOu6BDuwSPQA== +"@jest/transform@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.4.1.tgz#e4f517841bb795c7dcdee1ba896275e2c2d26d4a" + integrity sha512-5w6YJrVAtiAgr0phzKjYd83UPbCXsBRTeYI4BXokv9Er9CcrH9hfXL/crCvP2d2nGOcovPUnlYiLPFLZrkG5Hg== dependencies: "@babel/core" "^7.11.6" - "@jest/types" "^28.1.3" - "@jridgewell/trace-mapping" "^0.3.13" + "@jest/types" "^29.4.1" + "@jridgewell/trace-mapping" "^0.3.15" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - jest-regex-util "^28.0.2" - jest-util "^28.1.3" + jest-haste-map "^29.4.1" + jest-regex-util "^29.2.0" + jest-util "^29.4.1" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - write-file-atomic "^4.0.1" - -"@jest/types@^28.1.0": - version "28.1.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.0.tgz#508327a89976cbf9bd3e1cc74641a29fd7dfd519" - integrity sha512-xmEggMPr317MIOjjDoZ4ejCSr9Lpbt/u34+dvc99t7DS8YirW5rwZEhzKPC2BMUFkUhI48qs6qLUSGw5FuL0GA== - dependencies: - "@jest/schemas" "^28.0.2" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" + write-file-atomic "^5.0.0" -"@jest/types@^28.1.3": - version "28.1.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.3.tgz#b05de80996ff12512bc5ceb1d208285a7d11748b" - integrity sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ== +"@jest/types@^29.4.1": + version "29.4.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.4.1.tgz#f9f83d0916f50696661da72766132729dcb82ecb" + integrity sha512-zbrAXDUOnpJ+FMST2rV7QZOgec8rskg2zv8g2ajeqitp4tvZiyqTCYXANrKsM+ryj5o+LI+ZN2EgU9drrkiwSA== dependencies: - "@jest/schemas" "^28.1.3" + "@jest/schemas" "^29.4.0" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" @@ -598,6 +590,11 @@ "@jridgewell/set-array" "^1.0.0" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/resolve-uri@3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== + "@jridgewell/resolve-uri@^3.0.3": version "3.0.7" resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz#30cd49820a962aff48c8fffc5cd760151fca61fe" @@ -608,12 +605,17 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.1.tgz#36a6acc93987adcf0ba50c66908bd0b70de8afea" integrity sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ== +"@jridgewell/sourcemap-codec@1.4.14": + version "1.4.14" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" + integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== + "@jridgewell/sourcemap-codec@^1.4.10": version "1.4.13" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz#b6461fb0c2964356c469e115f504c95ad97ab88c" integrity sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w== -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.13": +"@jridgewell/trace-mapping@^0.3.12": version "0.3.14" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== @@ -621,6 +623,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.15": + version "0.3.17" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" + integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== + dependencies: + "@jridgewell/resolve-uri" "3.1.0" + "@jridgewell/sourcemap-codec" "1.4.14" + "@jridgewell/trace-mapping@^0.3.9": version "0.3.13" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz#dcfe3e95f224c8fe97a87a5235defec999aa92ea" @@ -650,29 +660,24 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@sinclair/typebox@^0.23.3": - version "0.23.5" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d" - integrity sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg== - -"@sinclair/typebox@^0.24.1": - version "0.24.19" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.19.tgz#5297278e0d8a1aea084685a3216074910ac6c113" - integrity sha512-gHJu8cdYTD5p4UqmQHrxaWrtb/jkH5imLXzuBypWhKzNkW0qfmgz+w1xaJccWVuJta1YYUdlDiPHXRTR4Ku0MQ== +"@sinclair/typebox@^0.25.16": + version "0.25.21" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.21.tgz#763b05a4b472c93a8db29b2c3e359d55b29ce272" + integrity sha512-gFukHN4t8K4+wVC+ECqeqwzBDeFeTzBXroBTqE6vcWrQGbEUpHO7LYdG0f4xnvYq4VOEwITSlHlp0JBAIFMS/g== -"@sinonjs/commons@^1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.1.tgz#da5fd19a5f71177a53778073978873964f49acf1" - integrity sha512-Debi3Baff1Qu1Unc3mjJ96MgpbwTn43S1+9yJ0llWygPwDNu2aaWBD6yc9y/Z8XDRNhx7U+u2UDg2OGQXkclUQ== +"@sinonjs/commons@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" + integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^9.1.2": - version "9.1.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" - integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== +"@sinonjs/fake-timers@^10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" + integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^2.0.0" "@types/babel__core@^7.1.14": version "7.1.19" @@ -738,13 +743,13 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@28.1.8": - version "28.1.8" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.8.tgz#6936409f3c9724ea431efd412ea0238a0f03b09b" - integrity sha512-8TJkV++s7B6XqnDrzR1m/TT0A0h948Pnl/097veySPN67VRAgQ4gZ7n2KfJo2rVq6njQjdxU3GCCyDvAeuHoiw== +"@types/jest@29.4.0": + version "29.4.0" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.4.0.tgz#a8444ad1704493e84dbf07bb05990b275b3b9206" + integrity sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ== dependencies: - expect "^28.0.0" - pretty-format "^28.0.0" + expect "^29.0.0" + pretty-format "^29.0.0" "@types/json-schema@^7.0.9": version "7.0.11" @@ -1003,15 +1008,15 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -babel-jest@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.3.tgz#c1187258197c099072156a0a121c11ee1e3917d5" - integrity sha512-epUaPOEWMk3cWX0M/sPvCHHCe9fMFAa/9hXEgKP8nFfNl/jlGkE9ucq9NqkZGXLDduCJYS0UvSlPUwC0S+rH6Q== +babel-jest@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.4.1.tgz#01fa167e27470b35c2d4a1b841d9586b1764da19" + integrity sha512-xBZa/pLSsF/1sNpkgsiT3CmY7zV1kAsZ9OxxtrFqYucnOuRftXAfcJqcDVyOPeN4lttWTwhLdu0T9f8uvoPEUg== dependencies: - "@jest/transform" "^28.1.3" + "@jest/transform" "^29.4.1" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^28.1.3" + babel-preset-jest "^29.4.0" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -1027,10 +1032,10 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.3.tgz#1952c4d0ea50f2d6d794353762278d1d8cca3fbe" - integrity sha512-Ys3tUKAmfnkRUpPdpa98eYrAR0nV+sSFUZZEGuQ2EbFd1y4SOLtD5QDNHAq+bb9a+bbXvYQC4b+ID/THIMcU6Q== +babel-plugin-jest-hoist@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.4.0.tgz#3fd3dfcedf645932df6d0c9fc3d9a704dd860248" + integrity sha512-a/sZRLQJEmsmejQ2rPEUe35nO1+C9dc9O1gplH1SXmJxveQSRUYdBk8yGZG/VOUuZs1u2aHZJusEGoRMbhhwCg== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -1055,12 +1060,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.3.tgz#5dfc20b99abed5db994406c2b9ab94c73aaa419d" - integrity sha512-L+fupJvlWAHbQfn74coNX3zf60LXMJsezNvvx8eIh7iOR1luJ1poxYgQk1F8PYtNq/6QODDHCqsSnTFSWC491A== +babel-preset-jest@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.4.0.tgz#c2b03c548b02dea0a18ae21d5759c136f9251ee4" + integrity sha512-fUB9vZflUSM3dO/6M2TCAepTzvA4VkOvl67PjErcrQMGt9Eve7uazaeyCZ2th3UtI7ljpiBJES0F7A1vBRsLZA== dependencies: - babel-plugin-jest-hoist "^28.1.3" + babel-plugin-jest-hoist "^29.4.0" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -1220,13 +1225,18 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.6.0, convert-source-map@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== dependencies: safe-buffer "~5.1.1" +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cross-spawn@^7.0.0: version "7.0.1" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" @@ -1279,10 +1289,10 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -diff-sequences@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" - integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== +diff-sequences@^29.3.1: + version "29.3.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" + integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== dir-glob@^3.0.1: version "3.0.1" @@ -1303,10 +1313,10 @@ electron-to-chromium@^1.4.118: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.137.tgz#186180a45617283f1c012284458510cd99d6787f" integrity sha512-0Rcpald12O11BUogJagX3HsCN3FE83DSqWjgXoHo5a72KUKMSfI39XBgJpgNNxS9fuGzytaFjE06kZkiVFy2qA== -emittery@^0.10.2: - version "0.10.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" - integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== emoji-regex@^8.0.0: version "8.0.0" @@ -1537,16 +1547,16 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expect@^28.0.0, expect@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.3.tgz#90a7c1a124f1824133dd4533cce2d2bdcb6603ec" - integrity sha512-eEh0xn8HlsuOBxFgIss+2mX85VAS4Qy3OSkjV7rlBWljtA4oWH37glVGyOZSZvErDT/yBywZdPGwCXuTvSG85g== +expect@^29.0.0, expect@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.4.1.tgz#58cfeea9cbf479b64ed081fd1e074ac8beb5a1fe" + integrity sha512-OKrGESHOaMxK3b6zxIq9SOW8kEXztKff/Dvg88j4xIJxur1hspEbedVkR3GpHe5LO+WB2Qw7OWN0RMTdp6as5A== dependencies: - "@jest/expect-utils" "^28.1.3" - jest-get-type "^28.0.2" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + "@jest/expect-utils" "^29.4.1" + jest-get-type "^29.2.0" + jest-matcher-utils "^29.4.1" + jest-message-util "^29.4.1" + jest-util "^29.4.1" fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" @@ -1569,7 +1579,7 @@ fast-glob@^3.2.9: merge2 "^1.3.0" micromatch "^4.0.4" -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: +fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== @@ -1920,375 +1930,367 @@ istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.1.3.tgz#d9aeee6792be3686c47cb988a8eaf82ff4238831" - integrity sha512-esaOfUWJXk2nfZt9SPyC8gA1kNfdKLkQWyzsMlqq8msYSlNKfmZxfRgZn4Cd4MGVUF+7v6dBs0d5TOAKa7iIiA== +jest-changed-files@^29.4.0: + version "29.4.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.4.0.tgz#ac2498bcd394228f7eddcadcf928b3583bf2779d" + integrity sha512-rnI1oPxgFghoz32Y8eZsGJMjW54UlqT17ycQeCEktcxxwqqKdlj9afl8LNeO0Pbu+h2JQHThQP0BzS67eTRx4w== dependencies: execa "^5.0.0" p-limit "^3.1.0" -jest-circus@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.3.tgz#d14bd11cf8ee1a03d69902dc47b6bd4634ee00e4" - integrity sha512-cZ+eS5zc79MBwt+IhQhiEp0OeBddpc1n8MBo1nMB8A7oPMKEO+Sre+wHaLJexQUj9Ya/8NOBY0RESUgYjB6fow== +jest-circus@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.4.1.tgz#ff1b63eb04c3b111cefea9489e8dbadd23ce49bd" + integrity sha512-v02NuL5crMNY4CGPHBEflLzl4v91NFb85a+dH9a1pUNx6Xjggrd8l9pPy4LZ1VYNRXlb+f65+7O/MSIbLir6pA== dependencies: - "@jest/environment" "^28.1.3" - "@jest/expect" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/environment" "^29.4.1" + "@jest/expect" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" is-generator-fn "^2.0.0" - jest-each "^28.1.3" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-runtime "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" + jest-each "^29.4.1" + jest-matcher-utils "^29.4.1" + jest-message-util "^29.4.1" + jest-runtime "^29.4.1" + jest-snapshot "^29.4.1" + jest-util "^29.4.1" p-limit "^3.1.0" - pretty-format "^28.1.3" + pretty-format "^29.4.1" slash "^3.0.0" stack-utils "^2.0.3" -jest-cli@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.3.tgz#558b33c577d06de55087b8448d373b9f654e46b2" - integrity sha512-roY3kvrv57Azn1yPgdTebPAXvdR2xfezaKKYzVxZ6It/5NCxzJym6tUI5P1zkdWhfUYkxEI9uZWcQdaFLo8mJQ== +jest-cli@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.4.1.tgz#7abef96944f300feb9b76f68b1eb2d68774fe553" + integrity sha512-jz7GDIhtxQ37M+9dlbv5K+/FVcIo1O/b1sX3cJgzlQUf/3VG25nvuWzlDC4F1FLLzUThJeWLu8I7JF9eWpuURQ== dependencies: - "@jest/core" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/core" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/types" "^29.4.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" + jest-config "^29.4.1" + jest-util "^29.4.1" + jest-validate "^29.4.1" prompts "^2.0.1" yargs "^17.3.1" -jest-config@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.3.tgz#e315e1f73df3cac31447eed8b8740a477392ec60" - integrity sha512-MG3INjByJ0J4AsNBm7T3hsuxKQqFIiRo/AUqb1q9LRKI5UU6Aar9JHbr9Ivn1TVwfUD9KirRoM/T6u8XlcQPHQ== +jest-config@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.4.1.tgz#e62670c6c980ec21d75941806ec4d0c0c6402728" + integrity sha512-g7p3q4NuXiM4hrS4XFATTkd+2z0Ml2RhFmFPM8c3WyKwVDNszbl4E7cV7WIx1YZeqqCtqbtTtZhGZWJlJqngzg== dependencies: "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^28.1.3" - "@jest/types" "^28.1.3" - babel-jest "^28.1.3" + "@jest/test-sequencer" "^29.4.1" + "@jest/types" "^29.4.1" + babel-jest "^29.4.1" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^28.1.3" - jest-environment-node "^28.1.3" - jest-get-type "^28.0.2" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-runner "^28.1.3" - jest-util "^28.1.3" - jest-validate "^28.1.3" + jest-circus "^29.4.1" + jest-environment-node "^29.4.1" + jest-get-type "^29.2.0" + jest-regex-util "^29.2.0" + jest-resolve "^29.4.1" + jest-runner "^29.4.1" + jest-util "^29.4.1" + jest-validate "^29.4.1" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^28.1.3" + pretty-format "^29.4.1" slash "^3.0.0" strip-json-comments "^3.1.1" -jest-diff@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.3.tgz#948a192d86f4e7a64c5264ad4da4877133d8792f" - integrity sha512-8RqP1B/OXzjjTWkqMX67iqgwBVJRgCyKD3L9nq+6ZqJMdvjE8RgHktqZ6jNrkdMT+dJuYNI3rhQpxaz7drJHfw== +jest-diff@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.4.1.tgz#9a6dc715037e1fa7a8a44554e7d272088c4029bd" + integrity sha512-uazdl2g331iY56CEyfbNA0Ut7Mn2ulAG5vUaEHXycf1L6IPyuImIxSz4F0VYBKi7LYIuxOwTZzK3wh5jHzASMw== dependencies: chalk "^4.0.0" - diff-sequences "^28.1.1" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + diff-sequences "^29.3.1" + jest-get-type "^29.2.0" + pretty-format "^29.4.1" -jest-docblock@^28.1.1: - version "28.1.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" - integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== +jest-docblock@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.2.0.tgz#307203e20b637d97cee04809efc1d43afc641e82" + integrity sha512-bkxUsxTgWQGbXV5IENmfiIuqZhJcyvF7tU4zJ/7ioTutdz4ToB5Yx6JOFBpgI+TphRY4lhOyCWGNH/QFQh5T6A== dependencies: detect-newline "^3.0.0" -jest-each@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.3.tgz#bdd1516edbe2b1f3569cfdad9acd543040028f81" - integrity sha512-arT1z4sg2yABU5uogObVPvSlSMQlDA48owx07BDPAiasW0yYpYHYOo4HHLz9q0BVzDVU4hILFjzJw0So9aCL/g== +jest-each@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.4.1.tgz#05ce9979e7486dbd0f5d41895f49ccfdd0afce01" + integrity sha512-QlYFiX3llJMWUV0BtWht/esGEz9w+0i7BHwODKCze7YzZzizgExB9MOfiivF/vVT0GSQ8wXLhvHXh3x2fVD4QQ== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.4.1" chalk "^4.0.0" - jest-get-type "^28.0.2" - jest-util "^28.1.3" - pretty-format "^28.1.3" - -jest-environment-node@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.3.tgz#7e74fe40eb645b9d56c0c4b70ca4357faa349be5" - integrity sha512-ugP6XOhEpjAEhGYvp5Xj989ns5cB1K6ZdjBYuS30umT4CQEETaxSiPcZ/E1kFktX4GkrcM4qu07IIlDYX1gp+A== - dependencies: - "@jest/environment" "^28.1.3" - "@jest/fake-timers" "^28.1.3" - "@jest/types" "^28.1.3" + jest-get-type "^29.2.0" + jest-util "^29.4.1" + pretty-format "^29.4.1" + +jest-environment-node@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.4.1.tgz#22550b7d0f8f0b16228639c9f88ca04bbf3c1974" + integrity sha512-x/H2kdVgxSkxWAIlIh9MfMuBa0hZySmfsC5lCsWmWr6tZySP44ediRKDUiNggX/eHLH7Cd5ZN10Rw+XF5tXsqg== + dependencies: + "@jest/environment" "^29.4.1" + "@jest/fake-timers" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" - jest-mock "^28.1.3" - jest-util "^28.1.3" + jest-mock "^29.4.1" + jest-util "^29.4.1" -jest-get-type@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" - integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== +jest-get-type@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" + integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== -jest-haste-map@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.3.tgz#abd5451129a38d9841049644f34b034308944e2b" - integrity sha512-3S+RQWDXccXDKSWnkHa/dPwt+2qwA8CJzR61w3FoYCvoo3Pn8tvGcysmMF0Bj0EX5RYvAI2EIvC57OmotfdtKA== +jest-haste-map@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.4.1.tgz#b0579dc82d94b40ed9041af56ad25c2f80bedaeb" + integrity sha512-imTjcgfVVTvg02khXL11NNLTx9ZaofbAWhilrMg/G8dIkp+HYCswhxf0xxJwBkfhWb3e8dwbjuWburvxmcr58w== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.4.1" "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^28.0.2" - jest-util "^28.1.3" - jest-worker "^28.1.3" + jest-regex-util "^29.2.0" + jest-util "^29.4.1" + jest-worker "^29.4.1" micromatch "^4.0.4" walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-leak-detector@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.3.tgz#a6685d9b074be99e3adee816ce84fd30795e654d" - integrity sha512-WFVJhnQsiKtDEo5lG2mM0v40QWnBM+zMdHHyJs8AWZ7J0QZJS59MsyKeJHWhpBZBH32S48FOVvGyOFT1h0DlqA== +jest-leak-detector@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.4.1.tgz#632186c546e084da2b490b7496fee1a1c9929637" + integrity sha512-akpZv7TPyGMnH2RimOCgy+hPmWZf55EyFUvymQ4LMsQP8xSPlZumCPtXGoDhFNhUE2039RApZkTQDKU79p/FiQ== dependencies: - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + jest-get-type "^29.2.0" + pretty-format "^29.4.1" -jest-matcher-utils@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.3.tgz#5a77f1c129dd5ba3b4d7fc20728806c78893146e" - integrity sha512-kQeJ7qHemKfbzKoGjHHrRKH6atgxMk8Enkk2iPQ3XwO6oE/KYD8lMYOziCkeSB9G4adPM4nR1DE8Tf5JeWH6Bw== +jest-matcher-utils@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.4.1.tgz#73d834e305909c3b43285fbc76f78bf0ad7e1954" + integrity sha512-k5h0u8V4nAEy6lSACepxL/rw78FLDkBnXhZVgFneVpnJONhb2DhZj/Gv4eNe+1XqQ5IhgUcqj745UwH0HJmMnA== dependencies: chalk "^4.0.0" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - pretty-format "^28.1.3" + jest-diff "^29.4.1" + jest-get-type "^29.2.0" + pretty-format "^29.4.1" -jest-message-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.3.tgz#232def7f2e333f1eecc90649b5b94b0055e7c43d" - integrity sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g== +jest-message-util@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.4.1.tgz#522623aa1df9a36ebfdffb06495c7d9d19e8a845" + integrity sha512-H4/I0cXUaLeCw6FM+i4AwCnOwHRgitdaUFOdm49022YD5nfyr8C/DrbXOBEyJaj+w/y0gGJ57klssOaUiLLQGQ== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^28.1.3" + "@jest/types" "^29.4.1" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^28.1.3" + pretty-format "^29.4.1" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.3.tgz#d4e9b1fc838bea595c77ab73672ebf513ab249da" - integrity sha512-o3J2jr6dMMWYVH4Lh/NKmDXdosrsJgi4AviS8oXLujcjpCMBb1FMsblDnOXKZKfSiHLxYub1eS0IHuRXsio9eA== +jest-mock@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.4.1.tgz#a218a2abf45c99c501d4665207748a6b9e29afbd" + integrity sha512-MwA4hQ7zBOcgVCVnsM8TzaFLVUD/pFWTfbkY953Y81L5ret3GFRZtmPmRFAjKQSdCKoJvvqOu6Bvfpqlwwb0dQ== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.4.1" "@types/node" "*" + jest-util "^29.4.1" jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^28.0.2: - version "28.0.2" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" - integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== +jest-regex-util@^29.2.0: + version "29.2.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.2.0.tgz#82ef3b587e8c303357728d0322d48bbfd2971f7b" + integrity sha512-6yXn0kg2JXzH30cr2NlThF+70iuO/3irbaB4mh5WyqNIvLLP+B6sFdluO1/1RJmslyh/f9osnefECflHvTbwVA== -jest-resolve-dependencies@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.3.tgz#8c65d7583460df7275c6ea2791901fa975c1fe66" - integrity sha512-qa0QO2Q0XzQoNPouMbCc7Bvtsem8eQgVPNkwn9LnS+R2n8DaVDPL/U1gngC0LTl1RYXJU0uJa2BMC2DbTfFrHA== +jest-resolve-dependencies@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.4.1.tgz#02420a2e055da105e5fca8218c471d8b9553c904" + integrity sha512-Y3QG3M1ncAMxfjbYgtqNXC5B595zmB6e//p/qpA/58JkQXu/IpLDoLeOa8YoYfsSglBKQQzNUqtfGJJT/qLmJg== dependencies: - jest-regex-util "^28.0.2" - jest-snapshot "^28.1.3" + jest-regex-util "^29.2.0" + jest-snapshot "^29.4.1" -jest-resolve@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.3.tgz#cfb36100341ddbb061ec781426b3c31eb51aa0a8" - integrity sha512-Z1W3tTjE6QaNI90qo/BJpfnvpxtaFTFw5CDgwpyE/Kz8U/06N1Hjf4ia9quUhCh39qIGWF1ZuxFiBiJQwSEYKQ== +jest-resolve@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.4.1.tgz#4c6bf71a07b8f0b79c5fdf4f2a2cf47317694c5e" + integrity sha512-j/ZFNV2lm9IJ2wmlq1uYK0Y/1PiyDq9g4HEGsNTNr3viRbJdV+8Lf1SXIiLZXFvyiisu0qUyIXGBnw+OKWkJwQ== dependencies: chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" + jest-haste-map "^29.4.1" jest-pnp-resolver "^1.2.2" - jest-util "^28.1.3" - jest-validate "^28.1.3" + jest-util "^29.4.1" + jest-validate "^29.4.1" resolve "^1.20.0" - resolve.exports "^1.1.0" + resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.3.tgz#5eee25febd730b4713a2cdfd76bdd5557840f9a1" - integrity sha512-GkMw4D/0USd62OVO0oEgjn23TM+YJa2U2Wu5zz9xsQB1MxWKDOlrnykPxnMsN0tnJllfLPinHTka61u0QhaxBA== +jest-runner@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.4.1.tgz#57460d9ebb0eea2e27eeddca1816cf8537469661" + integrity sha512-8d6XXXi7GtHmsHrnaqBKWxjKb166Eyj/ksSaUYdcBK09VbjPwIgWov1VwSmtupCIz8q1Xv4Qkzt/BTo3ZqiCeg== dependencies: - "@jest/console" "^28.1.3" - "@jest/environment" "^28.1.3" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/console" "^29.4.1" + "@jest/environment" "^29.4.1" + "@jest/test-result" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" - emittery "^0.10.2" + emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^28.1.1" - jest-environment-node "^28.1.3" - jest-haste-map "^28.1.3" - jest-leak-detector "^28.1.3" - jest-message-util "^28.1.3" - jest-resolve "^28.1.3" - jest-runtime "^28.1.3" - jest-util "^28.1.3" - jest-watcher "^28.1.3" - jest-worker "^28.1.3" + jest-docblock "^29.2.0" + jest-environment-node "^29.4.1" + jest-haste-map "^29.4.1" + jest-leak-detector "^29.4.1" + jest-message-util "^29.4.1" + jest-resolve "^29.4.1" + jest-runtime "^29.4.1" + jest-util "^29.4.1" + jest-watcher "^29.4.1" + jest-worker "^29.4.1" p-limit "^3.1.0" source-map-support "0.5.13" -jest-runtime@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.3.tgz#a57643458235aa53e8ec7821949e728960d0605f" - integrity sha512-NU+881ScBQQLc1JHG5eJGU7Ui3kLKrmwCPPtYsJtBykixrM2OhVQlpMmFWJjMyDfdkGgBMNjXCGB/ebzsgNGQw== - dependencies: - "@jest/environment" "^28.1.3" - "@jest/fake-timers" "^28.1.3" - "@jest/globals" "^28.1.3" - "@jest/source-map" "^28.1.2" - "@jest/test-result" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" +jest-runtime@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.4.1.tgz#9a50f9c69d3a391690897c01b0bfa8dc5dd45808" + integrity sha512-UXTMU9uKu2GjYwTtoAw5rn4STxWw/nadOfW7v1sx6LaJYa3V/iymdCLQM6xy3+7C6mY8GfX22vKpgxY171UIoA== + dependencies: + "@jest/environment" "^29.4.1" + "@jest/fake-timers" "^29.4.1" + "@jest/globals" "^29.4.1" + "@jest/source-map" "^29.2.0" + "@jest/test-result" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" + "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" - execa "^5.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^28.1.3" - jest-message-util "^28.1.3" - jest-mock "^28.1.3" - jest-regex-util "^28.0.2" - jest-resolve "^28.1.3" - jest-snapshot "^28.1.3" - jest-util "^28.1.3" + jest-haste-map "^29.4.1" + jest-message-util "^29.4.1" + jest-mock "^29.4.1" + jest-regex-util "^29.2.0" + jest-resolve "^29.4.1" + jest-snapshot "^29.4.1" + jest-util "^29.4.1" + semver "^7.3.5" slash "^3.0.0" strip-bom "^4.0.0" -jest-snapshot@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.3.tgz#17467b3ab8ddb81e2f605db05583d69388fc0668" - integrity sha512-4lzMgtiNlc3DU/8lZfmqxN3AYD6GGLbl+72rdBpXvcV+whX7mDrREzkPdp2RnmfIiWBg1YbuFSkXduF2JcafJg== +jest-snapshot@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.4.1.tgz#5692210b3690c94f19317913d4082b123bd83dd9" + integrity sha512-l4iV8EjGgQWVz3ee/LR9sULDk2pCkqb71bjvlqn+qp90lFwpnulHj4ZBT8nm1hA1C5wowXLc7MGnw321u0tsYA== dependencies: "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.3.3" - "@jest/expect-utils" "^28.1.3" - "@jest/transform" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/expect-utils" "^29.4.1" + "@jest/transform" "^29.4.1" + "@jest/types" "^29.4.1" "@types/babel__traverse" "^7.0.6" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^28.1.3" + expect "^29.4.1" graceful-fs "^4.2.9" - jest-diff "^28.1.3" - jest-get-type "^28.0.2" - jest-haste-map "^28.1.3" - jest-matcher-utils "^28.1.3" - jest-message-util "^28.1.3" - jest-util "^28.1.3" + jest-diff "^29.4.1" + jest-get-type "^29.2.0" + jest-haste-map "^29.4.1" + jest-matcher-utils "^29.4.1" + jest-message-util "^29.4.1" + jest-util "^29.4.1" natural-compare "^1.4.0" - pretty-format "^28.1.3" + pretty-format "^29.4.1" semver "^7.3.5" -jest-util@^28.0.0: - version "28.1.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.0.tgz#d54eb83ad77e1dd441408738c5a5043642823be5" - integrity sha512-qYdCKD77k4Hwkose2YBEqQk7PzUf/NSE+rutzceduFveQREeH6b+89Dc9+wjX9dAwHcgdx4yedGA3FQlU/qCTA== - dependencies: - "@jest/types" "^28.1.0" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-util@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.3.tgz#f4f932aa0074f0679943220ff9cbba7e497028b0" - integrity sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ== +jest-util@^29.0.0, jest-util@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.4.1.tgz#2eeed98ff4563b441b5a656ed1a786e3abc3e4c4" + integrity sha512-bQy9FPGxVutgpN4VRc0hk6w7Hx/m6L53QxpDreTZgJd9gfx/AV2MjyPde9tGyZRINAUrSv57p2inGBu2dRLmkQ== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.4.1" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.3.tgz#e322267fd5e7c64cea4629612c357bbda96229df" - integrity sha512-SZbOGBWEsaTxBGCOpsRWlXlvNkvTkY0XxRfh7zYmvd8uL5Qzyg0CHAXiXKROflh801quA6+/DsT4ODDthOC/OA== +jest-validate@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.4.1.tgz#0d5174510415083ec329d4f981bf6779211f17e9" + integrity sha512-qNZXcZQdIQx4SfUB/atWnI4/I2HUvhz8ajOSYUu40CSmf9U5emil8EDHgE7M+3j9/pavtk3knlZBDsgFvv/SWw== dependencies: - "@jest/types" "^28.1.3" + "@jest/types" "^29.4.1" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^28.0.2" + jest-get-type "^29.2.0" leven "^3.1.0" - pretty-format "^28.1.3" + pretty-format "^29.4.1" -jest-watcher@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.3.tgz#c6023a59ba2255e3b4c57179fc94164b3e73abd4" - integrity sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g== +jest-watcher@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.4.1.tgz#6e3e2486918bd778849d4d6e67fd77b814f3e6ed" + integrity sha512-vFOzflGFs27nU6h8dpnVRER3O2rFtL+VMEwnG0H3KLHcllLsU8y9DchSh0AL/Rg5nN1/wSiQ+P4ByMGpuybaVw== dependencies: - "@jest/test-result" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/test-result" "^29.4.1" + "@jest/types" "^29.4.1" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - emittery "^0.10.2" - jest-util "^28.1.3" + emittery "^0.13.1" + jest-util "^29.4.1" string-length "^4.0.1" -jest-worker@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.3.tgz#7e3c4ce3fa23d1bb6accb169e7f396f98ed4bb98" - integrity sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g== +jest-worker@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.4.1.tgz#7cb4a99a38975679600305650f86f4807460aab1" + integrity sha512-O9doU/S1EBe+yp/mstQ0VpPwpv0Clgn68TkNwGxL6/usX/KUW9Arnn4ag8C3jc6qHcXznhsT5Na1liYzAsuAbQ== dependencies: "@types/node" "*" + jest-util "^29.4.1" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.3.tgz#e9c6a7eecdebe3548ca2b18894a50f45b36dfc6b" - integrity sha512-N4GT5on8UkZgH0O5LUavMRV1EDEhNTL0KEfRmDIeZHSV7p2XgLoY9t9VDUgL6o+yfdgYHVxuz81G8oB9VG5uyA== +jest@29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.4.1.tgz#bb34baca8e05901b49c02c62f1183a6182ea1785" + integrity sha512-cknimw7gAXPDOmj0QqztlxVtBVCw2lYY9CeIE5N6kD+kET1H4H79HSNISJmijb1HF+qk+G+ploJgiDi5k/fRlg== dependencies: - "@jest/core" "^28.1.3" - "@jest/types" "^28.1.3" + "@jest/core" "^29.4.1" + "@jest/types" "^29.4.1" import-local "^3.0.2" - jest-cli "^28.1.3" + jest-cli "^29.4.1" js-sdsl@^4.1.4: version "4.1.4" @@ -2340,6 +2342,11 @@ json5@^2.2.1: resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab" integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ== +json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" @@ -2657,23 +2664,12 @@ prettier@2.8.3: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632" integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw== -pretty-format@^28.0.0: - version "28.1.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.1.tgz#f731530394e0f7fcd95aba6b43c50e02d86b95cb" - integrity sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw== +pretty-format@^29.0.0, pretty-format@^29.4.1: + version "29.4.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.1.tgz#0da99b532559097b8254298da7c75a0785b1751c" + integrity sha512-dt/Z761JUVsrIKaY215o1xQJBGlSmTx/h4cSqXqjHLnU1+Kt+mavVE7UgqJJO5ukx5HjSswHfmXz4LjS2oIJfg== dependencies: - "@jest/schemas" "^28.0.2" - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^28.1.3: - version "28.1.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.3.tgz#c9fba8cedf99ce50963a11b27d982a9ae90970d5" - integrity sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q== - dependencies: - "@jest/schemas" "^28.1.3" - ansi-regex "^5.0.1" + "@jest/schemas" "^29.4.0" ansi-styles "^5.0.0" react-is "^18.0.0" @@ -2735,10 +2731,10 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve.exports@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" - integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== +resolve.exports@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.0.tgz#c1a0028c2d166ec2fbf7d0644584927e76e7400e" + integrity sha512-6K/gDlqgQscOlg9fSRpWstA8sYe8rbELsSTNpx+3kTrsVCzvSl0zIvRErM7fdl9ERWDsKnrLnwB+Ne89918XOg== resolve@^1.20.0: version "1.22.0" @@ -2754,7 +2750,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -2924,7 +2920,7 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== @@ -2938,27 +2934,11 @@ supports-color@^8.0.0: dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -2990,15 +2970,15 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -ts-jest@28.0.8: - version "28.0.8" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.8.tgz#cd204b8e7a2f78da32cf6c95c9a6165c5b99cc73" - integrity sha512-5FaG0lXmRPzApix8oFG8RKjAz4ehtm8yMKOTy5HX3fY6W8kmvOrmcY0hKDElW52FJov+clhUbrKAqofnj4mXTg== +ts-jest@29.0.5: + version "29.0.5" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.0.5.tgz#c5557dcec8fe434fcb8b70c3e21c6b143bfce066" + integrity sha512-PL3UciSgIpQ7f6XjVOmbi96vmDHUqAyqDr8YxzopDqX3kfgYtX1cuNeBjP+L9sFXi6nzsGGA6R3fP3DDDJyrxA== dependencies: bs-logger "0.x" fast-json-stable-stringify "2.x" - jest-util "^28.0.0" - json5 "^2.2.1" + jest-util "^29.0.0" + json5 "^2.2.3" lodash.memoize "4.x" make-error "1.x" semver "7.x" @@ -3129,10 +3109,10 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= -write-file-atomic@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" - integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== +write-file-atomic@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.0.tgz#54303f117e109bf3d540261125c8ea5a7320fab0" + integrity sha512-R7NYMnHSlV42K54lwY9lvW6MnSm1HSJqZL3xiSgi9E7//FYaI74r2G0rd+/X6VAMkHEdzxQaU5HUOXWUz5kA/w== dependencies: imurmurhash "^0.1.4" signal-exit "^3.0.7" @@ -3169,8 +3149,3 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -zod@3.20.2: - version "3.20.2" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.20.2.tgz#068606642c8f51b3333981f91c0a8ab37dfc2807" - integrity sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==