From ea49349a43d70ce993774a46449a192b47f8549c Mon Sep 17 00:00:00 2001 From: Mats Jun Larsen Date: Sun, 19 Feb 2023 22:11:21 +0000 Subject: [PATCH] fix: use definitely typed types for node-targz (#4757) --- package-lock.json | 19 ++++++++++++++++ package.json | 1 + tsconfig.backend.json | 5 +---- typings/node-targz.d.ts | 50 ----------------------------------------- 4 files changed, 21 insertions(+), 54 deletions(-) delete mode 100644 typings/node-targz.d.ts diff --git a/package-lock.json b/package-lock.json index a3b677318..2d891503c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -96,6 +96,7 @@ "@types/fs-extra": "^9.0.13", "@types/jquery": "^3.5.10", "@types/mocha": "^8.2.2", + "@types/node-targz": "^0.2.0", "@types/qs": "^6.9.7", "@types/shell-quote": "^1.7.1", "@types/tar-fs": "^2.0.1", @@ -1918,6 +1919,15 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" }, + "node_modules/@types/node-targz": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@types/node-targz/-/node-targz-0.2.0.tgz", + "integrity": "sha512-NaL62JPeeDl1nZ8Cxo0JRRadER2zPfkbAR1oPYd0v7sCkxkRIF2riJfNftgth38Qx1gnbhAUlMFjtiGu2y21GQ==", + "dev": true, + "dependencies": { + "@types/tar-fs": "*" + } + }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", @@ -17082,6 +17092,15 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==" }, + "@types/node-targz": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@types/node-targz/-/node-targz-0.2.0.tgz", + "integrity": "sha512-NaL62JPeeDl1nZ8Cxo0JRRadER2zPfkbAR1oPYd0v7sCkxkRIF2riJfNftgth38Qx1gnbhAUlMFjtiGu2y21GQ==", + "dev": true, + "requires": { + "@types/tar-fs": "*" + } + }, "@types/normalize-package-data": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", diff --git a/package.json b/package.json index 36ca7b7c8..091089981 100644 --- a/package.json +++ b/package.json @@ -107,6 +107,7 @@ "@types/fs-extra": "^9.0.13", "@types/jquery": "^3.5.10", "@types/mocha": "^8.2.2", + "@types/node-targz": "^0.2.0", "@types/qs": "^6.9.7", "@types/shell-quote": "^1.7.1", "@types/tar-fs": "^2.0.1", diff --git a/tsconfig.backend.json b/tsconfig.backend.json index 0fabc7c24..7cdda8eb7 100644 --- a/tsconfig.backend.json +++ b/tsconfig.backend.json @@ -10,10 +10,7 @@ "moduleResolution": "node", /* Code generation */ "outDir": "./out/dist", - "paths": { - "node-targz": ["./typings/node-targz.d.ts"] - }, - "typeRoots": ["./typings", "./node_modules/@types"], + "typeRoots": ["./node_modules/@types"], "types": ["mocha", "chai", "chai-http"], /* Other options */ "allowJs": true diff --git a/typings/node-targz.d.ts b/typings/node-targz.d.ts deleted file mode 100644 index eb9d9e4f8..000000000 --- a/typings/node-targz.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -// Copyright (c) 2022, Compiler Explorer Authors -// All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// * Redistributions of source code must retain the above copyright notice, -// this list of conditions and the following disclaimer. -// * Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -// POSSIBILITY OF SUCH DAMAGE. - -declare module 'node-targz' { - import type {PathLike} from 'fs'; - - // eslint-disable-next-line node/no-extraneous-import - import type {ExtractOptions, PackOptions} from 'tar-fs'; - - type Callback = (error: Error | null) => void; - - export interface CompressOptions { - source: string; - options?: PackOptions | undefined; - level: number | undefined; - memLevel: number | undefined; - destination: PathLike; - } - - export interface DecompressOptions { - source: PathLike; - destination: string; - options?: ExtractOptions | undefined; - } - - export function compress(options: CompressOptions, cb: Callback): void; - - export function decompress(options: DecompressOptions, cb: Callback): void; -}