diff --git a/src/default-tmp.ts b/src/default-tmp.ts index ad545174..014509af 100644 --- a/src/default-tmp.ts +++ b/src/default-tmp.ts @@ -10,8 +10,8 @@ // it uses os.tmpdir() always. import { tmpdir } from 'os' import { parse, resolve } from 'path' -import { promises, statSync } from './fs' -import platform from './platform' +import { promises, statSync } from './fs.js' +import platform from './platform.js' const { stat } = promises const isDirSync = (path: string) => { diff --git a/src/fix-eperm.ts b/src/fix-eperm.ts index d6389775..17372a9e 100644 --- a/src/fix-eperm.ts +++ b/src/fix-eperm.ts @@ -1,4 +1,4 @@ -import { promises, chmodSync, FsError } from './fs' +import { promises, chmodSync, FsError } from './fs.js' const { chmod } = promises export const fixEPERM = diff --git a/src/ignore-enoent.ts b/src/ignore-enoent.ts index c2e8c87a..ec1dc770 100644 --- a/src/ignore-enoent.ts +++ b/src/ignore-enoent.ts @@ -1,4 +1,4 @@ -import { FsError } from './fs' +import { FsError } from './fs.js' export const ignoreENOENT = async (p: Promise) => p.catch(er => { diff --git a/src/index.ts b/src/index.ts index 4f4f6e14..c94f4a60 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,5 +1,5 @@ -import optArg from './opt-arg' -import pathArg from './path-arg' +import optArg from './opt-arg.js' +import pathArg from './path-arg.js' export interface RimrafOptions { preserveRoot?: boolean @@ -35,12 +35,12 @@ export const assertRimrafOptions: (o: any) => void = ( } /* c8 ignore stop */ -import { rimrafManual, rimrafManualSync } from './rimraf-manual' -import { rimrafMoveRemove, rimrafMoveRemoveSync } from './rimraf-move-remove' -import { rimrafNative, rimrafNativeSync } from './rimraf-native' -import { rimrafPosix, rimrafPosixSync } from './rimraf-posix' -import { rimrafWindows, rimrafWindowsSync } from './rimraf-windows' -import { useNative, useNativeSync } from './use-native' +import { rimrafManual, rimrafManualSync } from './rimraf-manual.js' +import { rimrafMoveRemove, rimrafMoveRemoveSync } from './rimraf-move-remove.js' +import { rimrafNative, rimrafNativeSync } from './rimraf-native.js' +import { rimrafPosix, rimrafPosixSync } from './rimraf-posix.js' +import { rimrafWindows, rimrafWindowsSync } from './rimraf-windows.js' +import { useNative, useNativeSync } from './use-native.js' const wrap = (fn: (p: string, o: RimrafOptions) => Promise) => diff --git a/src/opt-arg.ts b/src/opt-arg.ts index 5c739b5d..f767f1b9 100644 --- a/src/opt-arg.ts +++ b/src/opt-arg.ts @@ -1,4 +1,4 @@ -import { assertRimrafOptions, RimrafOptions } from './index' +import { assertRimrafOptions, RimrafOptions } from './index.js' export default (opt: RimrafOptions = {}) => { assertRimrafOptions(opt) return opt diff --git a/src/path-arg.ts b/src/path-arg.ts index a6a36c78..4adaf5e8 100644 --- a/src/path-arg.ts +++ b/src/path-arg.ts @@ -1,7 +1,7 @@ -import platform from './platform' +import platform from './platform.js' import { resolve, parse } from 'path' import { inspect } from 'util' -import { RimrafOptions } from './index' +import { RimrafOptions } from './index.js' const pathArg = (path: string, opt: RimrafOptions = {}) => { const type = typeof path diff --git a/src/readdir-or-error.ts b/src/readdir-or-error.ts index ff639694..82dd5315 100644 --- a/src/readdir-or-error.ts +++ b/src/readdir-or-error.ts @@ -1,6 +1,6 @@ // returns an array of entries if readdir() works, // or the error that readdir() raised if not. -import { FsError, promises, readdirSync } from './fs' +import { FsError, promises, readdirSync } from './fs.js' const { readdir } = promises export const readdirOrError = (path: string) => readdir(path).catch(er => er as FsError) diff --git a/src/retry-busy.ts b/src/retry-busy.ts index 78f27c65..69c4778e 100644 --- a/src/retry-busy.ts +++ b/src/retry-busy.ts @@ -1,7 +1,7 @@ // note: max backoff is the maximum that any *single* backoff will do import { RimrafOptions } from '.' -import { FsError } from './fs' +import { FsError } from './fs.js' export const MAXBACKOFF = 200 export const RATE = 1.2 diff --git a/src/rimraf-manual.ts b/src/rimraf-manual.ts index c377a60a..d943460f 100644 --- a/src/rimraf-manual.ts +++ b/src/rimraf-manual.ts @@ -1,7 +1,7 @@ -import platform from './platform' +import platform from './platform.js' -import { rimrafPosix, rimrafPosixSync } from './rimraf-posix' -import { rimrafWindows, rimrafWindowsSync } from './rimraf-windows' +import { rimrafPosix, rimrafPosixSync } from './rimraf-posix.js' +import { rimrafWindows, rimrafWindowsSync } from './rimraf-windows.js' export const rimrafManual = platform === 'win32' ? rimrafWindows : rimrafPosix export const rimrafManualSync = diff --git a/src/rimraf-move-remove.ts b/src/rimraf-move-remove.ts index cbf23556..40068903 100644 --- a/src/rimraf-move-remove.ts +++ b/src/rimraf-move-remove.ts @@ -12,9 +12,9 @@ // However, it is HELLA SLOW, like 2-10x slower than a naive recursive rm. import { basename, parse, resolve } from 'path' -import { defaultTmp, defaultTmpSync } from './default-tmp' +import { defaultTmp, defaultTmpSync } from './default-tmp.js' -import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent' +import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent.js' import { chmodSync, @@ -27,7 +27,7 @@ import { const { rename, unlink, rmdir, chmod } = fsPromises import { RimrafOptions } from '.' -import { readdirOrError, readdirOrErrorSync } from './readdir-or-error' +import { readdirOrError, readdirOrErrorSync } from './readdir-or-error.js' // crypto.randomBytes is much slower, and Math.random() is enough here const uniqueFilename = (path: string) => `.${basename(path)}.${Math.random()}` diff --git a/src/rimraf-native.ts b/src/rimraf-native.ts index 74b23243..6c1c0be0 100644 --- a/src/rimraf-native.ts +++ b/src/rimraf-native.ts @@ -1,5 +1,5 @@ import { RimrafOptions } from '.' -import { promises, rmSync } from './fs' +import { promises, rmSync } from './fs.js' const { rm } = promises export const rimrafNative = (path: string, opt: RimrafOptions) => diff --git a/src/rimraf-posix.ts b/src/rimraf-posix.ts index 72dedac9..709207f8 100644 --- a/src/rimraf-posix.ts +++ b/src/rimraf-posix.ts @@ -5,15 +5,15 @@ // calls), because sunos will let root unlink a directory, and some // SUPER weird breakage happens as a result. -import { promises, rmdirSync, unlinkSync } from './fs' +import { promises, rmdirSync, unlinkSync } from './fs.js' const { rmdir, unlink } = promises import { parse, resolve } from 'path' -import { readdirOrError, readdirOrErrorSync } from './readdir-or-error' +import { readdirOrError, readdirOrErrorSync } from './readdir-or-error.js' import { RimrafOptions } from '.' -import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent' +import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent.js' export const rimrafPosix = async (path: string, opt: RimrafOptions) => { const entries = await readdirOrError(path) diff --git a/src/rimraf-windows.ts b/src/rimraf-windows.ts index 785908c9..57259cea 100644 --- a/src/rimraf-windows.ts +++ b/src/rimraf-windows.ts @@ -9,12 +9,12 @@ // Note: "move then remove" is 2-10 times slower, and just as unreliable. import { parse, resolve } from 'path' -import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent' -import { fixEPERM, fixEPERMSync } from './fix-eperm' -import { readdirOrError, readdirOrErrorSync } from './readdir-or-error' -import { retryBusy, retryBusySync } from './retry-busy' -import { rimrafMoveRemove, rimrafMoveRemoveSync } from './rimraf-move-remove' -import { FsError, promises, rmdirSync, unlinkSync } from './fs' +import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent.js' +import { fixEPERM, fixEPERMSync } from './fix-eperm.js' +import { readdirOrError, readdirOrErrorSync } from './readdir-or-error.js' +import { retryBusy, retryBusySync } from './retry-busy.js' +import { rimrafMoveRemove, rimrafMoveRemoveSync } from './rimraf-move-remove.js' +import { FsError, promises, rmdirSync, unlinkSync } from './fs.js' import { RimrafOptions } from '.' const { unlink, rmdir } = promises diff --git a/src/use-native.ts b/src/use-native.ts index d60ed036..97642176 100644 --- a/src/use-native.ts +++ b/src/use-native.ts @@ -3,7 +3,7 @@ const versArr = version.replace(/^v/, '').split('.') const hasNative = +versArr[0] > 14 || (+versArr[0] === 14 && +versArr[1] >= 14) // we do NOT use native by default on Windows, because Node's native // rm implementation is less advanced. Change this code if that changes. -import platform from './platform' +import platform from './platform.js' export const useNative = !hasNative || platform === 'win32' ? () => false : () => true export const useNativeSync = diff --git a/test/fs.ts b/test/fs.ts index 7e3a7d5c..c74a1a46 100644 --- a/test/fs.ts +++ b/test/fs.ts @@ -5,7 +5,7 @@ import t from 'tap' // and that when the cb returns an error, the promised version fails, // and when the cb returns data, the promisified version resolves to it. import realFS from 'fs' -import * as fs from '../src/fs' +import * as fs from '../dist/cjs/src/fs.js' const mockFSMethodPass = (method: string) => @@ -20,7 +20,7 @@ const mockFSMethodFail = process.nextTick(() => cb(new Error('oops'), method, 1, 2, 3)) } -import { useNative } from '../src/use-native' +import { useNative } from '../dist/cjs/src/use-native.js' t.type(fs.promises, Object) const mockFSPass: { [k: string]: (...a: any[]) => any } = {} const mockFSFail: { [k: string]: (...a: any[]) => any } = {}