From 551f768a3fa758adb01baec49ff0fe3ec940dc65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20B=C5=82a=C5=BCejewicz=20=28Peter=20Blazejewicz=29?= Date: Fri, 20 Mar 2020 19:02:50 +0100 Subject: [PATCH] update(rimraf): update to version 3.0 (#43188) - v2 created - removed BUSYTRIES_MAX and EMFILE_MAX - other minor changes https://github.com/isaacs/rimraf/blob/master/rimraf.js Thanks! --- types/rimraf/index.d.ts | 19 ++++++++------ types/rimraf/rimraf-tests.ts | 7 ++---- types/rimraf/v2/index.d.ts | 44 +++++++++++++++++++++++++++++++++ types/rimraf/v2/rimraf-tests.ts | 10 ++++++++ types/rimraf/v2/tsconfig.json | 28 +++++++++++++++++++++ types/rimraf/v2/tslint.json | 3 +++ 6 files changed, 99 insertions(+), 12 deletions(-) create mode 100644 types/rimraf/v2/index.d.ts create mode 100644 types/rimraf/v2/rimraf-tests.ts create mode 100644 types/rimraf/v2/tsconfig.json create mode 100644 types/rimraf/v2/tslint.json diff --git a/types/rimraf/index.d.ts b/types/rimraf/index.d.ts index 6beb0567ea..116121ff0b 100644 --- a/types/rimraf/index.d.ts +++ b/types/rimraf/index.d.ts @@ -1,13 +1,12 @@ -// Type definitions for rimraf 2.0 +// Type definitions for rimraf 3.0 // Project: https://github.com/isaacs/rimraf // Definitions by: Carlos Ballesteros Velasco // e-cloud // Ruben Schmidmeister // Oganexon +// Piotr Błażejewicz // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped -// Imported from: https://github.com/soywiz/typescript-node-definitions/rimraf.d.ts - /// import glob = require('glob'); @@ -16,13 +15,20 @@ import fs = require('fs'); declare function rimraf(path: string, options: rimraf.Options, callback: (error: Error) => void): void; declare function rimraf(path: string, callback: (error: Error) => void): void; declare namespace rimraf { - function __promisify__(path: string, options?: Options): Promise; + /** + * It can remove stuff synchronously, too. + * But that's not so good. Use the async API. + * It's better. + */ function sync(path: string, options?: Options): void; - let EMFILE_MAX: number; - let BUSYTRIES_MAX: number; + + /** + * see {@link https://github.com/isaacs/rimraf/blob/79b933fb362b2c51bedfa448be848e1d7ed32d7e/README.md#options} + */ interface Options { maxBusyTries?: number; emfileWait?: number; + /** @default false */ disableGlob?: boolean; glob?: glob.IOptions | false; @@ -32,7 +38,6 @@ declare namespace rimraf { lstat?: typeof fs.lstat; rmdir?: typeof fs.rmdir; readdir?: typeof fs.readdir; - unlinkSync?: typeof fs.unlinkSync; chmodSync?: typeof fs.chmodSync; statSync?: typeof fs.statSync; diff --git a/types/rimraf/rimraf-tests.ts b/types/rimraf/rimraf-tests.ts index 796ad1077c..eac73b0e23 100644 --- a/types/rimraf/rimraf-tests.ts +++ b/types/rimraf/rimraf-tests.ts @@ -1,10 +1,7 @@ import rimraf = require('rimraf'); -rimraf('./xyz', (err: Error) => { }); +rimraf('./xyz', (err: Error) => {}); rimraf.sync('./xyz'); -rimraf('./xyz', { glob: { ignore: '' } }, (err: Error) => { }); +rimraf('./xyz', { glob: { ignore: '' } }, (err: Error) => {}); rimraf.sync('./xyz', { glob: { ignore: '' } }); - -rimraf.EMFILE_MAX = 0; -rimraf.BUSYTRIES_MAX = 0; diff --git a/types/rimraf/v2/index.d.ts b/types/rimraf/v2/index.d.ts new file mode 100644 index 0000000000..6beb0567ea --- /dev/null +++ b/types/rimraf/v2/index.d.ts @@ -0,0 +1,44 @@ +// Type definitions for rimraf 2.0 +// Project: https://github.com/isaacs/rimraf +// Definitions by: Carlos Ballesteros Velasco +// e-cloud +// Ruben Schmidmeister +// Oganexon +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +// Imported from: https://github.com/soywiz/typescript-node-definitions/rimraf.d.ts + +/// + +import glob = require('glob'); +import fs = require('fs'); + +declare function rimraf(path: string, options: rimraf.Options, callback: (error: Error) => void): void; +declare function rimraf(path: string, callback: (error: Error) => void): void; +declare namespace rimraf { + function __promisify__(path: string, options?: Options): Promise; + function sync(path: string, options?: Options): void; + let EMFILE_MAX: number; + let BUSYTRIES_MAX: number; + interface Options { + maxBusyTries?: number; + emfileWait?: number; + disableGlob?: boolean; + glob?: glob.IOptions | false; + + unlink?: typeof fs.unlink; + chmod?: typeof fs.chmod; + stat?: typeof fs.stat; + lstat?: typeof fs.lstat; + rmdir?: typeof fs.rmdir; + readdir?: typeof fs.readdir; + + unlinkSync?: typeof fs.unlinkSync; + chmodSync?: typeof fs.chmodSync; + statSync?: typeof fs.statSync; + lstatSync?: typeof fs.lstatSync; + rmdirSync?: typeof fs.rmdirSync; + readdirSync?: typeof fs.readdirSync; + } +} +export = rimraf; diff --git a/types/rimraf/v2/rimraf-tests.ts b/types/rimraf/v2/rimraf-tests.ts new file mode 100644 index 0000000000..796ad1077c --- /dev/null +++ b/types/rimraf/v2/rimraf-tests.ts @@ -0,0 +1,10 @@ +import rimraf = require('rimraf'); + +rimraf('./xyz', (err: Error) => { }); +rimraf.sync('./xyz'); + +rimraf('./xyz', { glob: { ignore: '' } }, (err: Error) => { }); +rimraf.sync('./xyz', { glob: { ignore: '' } }); + +rimraf.EMFILE_MAX = 0; +rimraf.BUSYTRIES_MAX = 0; diff --git a/types/rimraf/v2/tsconfig.json b/types/rimraf/v2/tsconfig.json new file mode 100644 index 0000000000..b11489d464 --- /dev/null +++ b/types/rimraf/v2/tsconfig.json @@ -0,0 +1,28 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "strictFunctionTypes": true, + "baseUrl": "../../", + "typeRoots": [ + "../../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true, + "paths": { + "rimraf": [ + "rimraf/v2" + ] + } + }, + "files": [ + "index.d.ts", + "rimraf-tests.ts" + ] +} diff --git a/types/rimraf/v2/tslint.json b/types/rimraf/v2/tslint.json new file mode 100644 index 0000000000..f93cf8562a --- /dev/null +++ b/types/rimraf/v2/tslint.json @@ -0,0 +1,3 @@ +{ + "extends": "dtslint/dt.json" +}