@gsknnft/bigint-buffer 1.4.4 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +107 -90
- package/build/Release/bigint_buffer.iobj +0 -0
- package/build/Release/bigint_buffer.ipdb +0 -0
- package/build/Release/bigint_buffer.node +0 -0
- package/build/Release/bigint_buffer.pdb +0 -0
- package/build/Release/obj/bigint_buffer/src/bigint-buffer.obj +0 -0
- package/build/Release/obj/bigint_buffer/win_delay_load_hook.obj +0 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +352 -210
- package/dist/index.umd.js +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/conversion/index.d.ts +2 -1
- package/dist/types/conversion/src/ts/converter.d.ts +10 -0
- package/dist/types/conversion/src/ts/fixedPoint/index.d.ts +12 -0
- package/dist/types/conversion/src/ts/index.d.ts +1 -2
- package/dist/types/dist/dist/conversion/conversion/index.d.ts +2 -1
- package/package.json +141 -132
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-PYrzNv/src/ts/index.js +178 -0
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-PYrzNv/src/ts/index.js.map +1 -0
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-h16OVM/src/ts/index.js +178 -0
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-h16OVM/src/ts/index.js.map +1 -0
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-uUCFYt/src/ts/index.js +178 -0
- package/src/conversion/.rollup.cache/C/Users/G/AppData/Local/Temp/rollup-plugin-typescript-allowjs-uUCFYt/src/ts/index.js.map +1 -0
- package/src/conversion/coverage/base.css +224 -0
- package/src/conversion/coverage/block-navigation.js +87 -0
- package/src/conversion/coverage/clover.xml +131 -0
- package/src/conversion/coverage/coverage-final.json +2 -0
- package/src/conversion/coverage/favicon.png +0 -0
- package/src/conversion/coverage/index.html +116 -0
- package/src/conversion/coverage/index.ts.html +1225 -0
- package/src/conversion/coverage/prettify.css +1 -0
- package/src/conversion/coverage/prettify.js +2 -0
- package/src/conversion/coverage/sort-arrow-sprite.png +0 -0
- package/src/conversion/coverage/sorter.js +210 -0
- package/src/conversion/docs/README.md +9 -1
- package/src/conversion/index.ts +2 -1
- package/src/conversion/node_modules/.bin/_mocha +21 -0
- package/src/conversion/node_modules/.bin/_mocha.CMD +12 -0
- package/src/conversion/node_modules/.bin/_mocha.ps1 +41 -0
- package/src/conversion/node_modules/.bin/c8 +21 -0
- package/src/conversion/node_modules/.bin/c8.CMD +12 -0
- package/src/conversion/node_modules/.bin/c8.ps1 +41 -0
- package/src/conversion/node_modules/.bin/esbuild +21 -0
- package/src/conversion/node_modules/.bin/esbuild.CMD +12 -0
- package/src/conversion/node_modules/.bin/esbuild.ps1 +41 -0
- package/src/conversion/node_modules/.bin/eslint +21 -0
- package/src/conversion/node_modules/.bin/eslint.CMD +12 -0
- package/src/conversion/node_modules/.bin/eslint.ps1 +41 -0
- package/src/conversion/node_modules/.bin/jiti +21 -0
- package/src/conversion/node_modules/.bin/jiti.CMD +12 -0
- package/src/conversion/node_modules/.bin/jiti.ps1 +41 -0
- package/src/conversion/node_modules/.bin/json5 +21 -0
- package/src/conversion/node_modules/.bin/json5.CMD +12 -0
- package/src/conversion/node_modules/.bin/json5.ps1 +41 -0
- package/src/conversion/node_modules/.bin/mocha +21 -0
- package/src/conversion/node_modules/.bin/mocha.CMD +12 -0
- package/src/conversion/node_modules/.bin/mocha.ps1 +41 -0
- package/src/conversion/node_modules/.bin/npm-run-all +21 -0
- package/src/conversion/node_modules/.bin/npm-run-all.CMD +12 -0
- package/src/conversion/node_modules/.bin/npm-run-all.ps1 +41 -0
- package/src/conversion/node_modules/.bin/puppeteer +21 -0
- package/src/conversion/node_modules/.bin/puppeteer.CMD +12 -0
- package/src/conversion/node_modules/.bin/puppeteer.ps1 +41 -0
- package/src/conversion/node_modules/.bin/rimraf +16 -0
- package/src/conversion/node_modules/.bin/rimraf.cmd +17 -0
- package/src/conversion/node_modules/.bin/rimraf.ps1 +28 -0
- package/src/conversion/node_modules/.bin/rollup +21 -0
- package/src/conversion/node_modules/.bin/rollup.CMD +12 -0
- package/src/conversion/node_modules/.bin/rollup.ps1 +41 -0
- package/src/conversion/node_modules/.bin/run-p +21 -0
- package/src/conversion/node_modules/.bin/run-p.CMD +12 -0
- package/src/conversion/node_modules/.bin/run-p.ps1 +41 -0
- package/src/conversion/node_modules/.bin/run-s +21 -0
- package/src/conversion/node_modules/.bin/run-s.CMD +12 -0
- package/src/conversion/node_modules/.bin/run-s.ps1 +41 -0
- package/src/conversion/node_modules/.bin/terser +21 -0
- package/src/conversion/node_modules/.bin/terser.CMD +12 -0
- package/src/conversion/node_modules/.bin/terser.ps1 +41 -0
- package/src/conversion/node_modules/.bin/ts-standard +21 -0
- package/src/conversion/node_modules/.bin/ts-standard.CMD +12 -0
- package/src/conversion/node_modules/.bin/ts-standard.ps1 +41 -0
- package/src/conversion/node_modules/.bin/tsc +21 -0
- package/src/conversion/node_modules/.bin/tsc.CMD +12 -0
- package/src/conversion/node_modules/.bin/tsc.ps1 +41 -0
- package/src/conversion/node_modules/.bin/tsserver +21 -0
- package/src/conversion/node_modules/.bin/tsserver.CMD +12 -0
- package/src/conversion/node_modules/.bin/tsserver.ps1 +41 -0
- package/src/conversion/node_modules/.bin/typedoc +21 -0
- package/src/conversion/node_modules/.bin/typedoc.CMD +12 -0
- package/src/conversion/node_modules/.bin/typedoc.ps1 +41 -0
- package/src/conversion/node_modules/.bin/vite +21 -0
- package/src/conversion/node_modules/.bin/vite.CMD +12 -0
- package/src/conversion/node_modules/.bin/vite.ps1 +41 -0
- package/src/conversion/node_modules/.bin/vitest +21 -0
- package/src/conversion/node_modules/.bin/vitest.CMD +12 -0
- package/src/conversion/node_modules/.bin/vitest.ps1 +41 -0
- package/src/conversion/node_modules/.bin/yaml +21 -0
- package/src/conversion/node_modules/.bin/yaml.CMD +12 -0
- package/src/conversion/node_modules/.bin/yaml.ps1 +41 -0
- package/src/conversion/node_modules/glob/LICENSE.md +63 -0
- package/src/conversion/node_modules/glob/README.md +1177 -0
- package/src/conversion/node_modules/glob/dist/commonjs/glob.d.ts +388 -0
- package/src/conversion/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/glob.js +247 -0
- package/src/conversion/node_modules/glob/dist/commonjs/glob.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/has-magic.d.ts +14 -0
- package/src/conversion/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/has-magic.js +27 -0
- package/src/conversion/node_modules/glob/dist/commonjs/has-magic.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/ignore.d.ts +24 -0
- package/src/conversion/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/ignore.js +119 -0
- package/src/conversion/node_modules/glob/dist/commonjs/ignore.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/index.d.ts +97 -0
- package/src/conversion/node_modules/glob/dist/commonjs/index.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/index.js +68 -0
- package/src/conversion/node_modules/glob/dist/commonjs/index.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/package.json +3 -0
- package/src/conversion/node_modules/glob/dist/commonjs/pattern.d.ts +76 -0
- package/src/conversion/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/pattern.js +219 -0
- package/src/conversion/node_modules/glob/dist/commonjs/pattern.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/processor.d.ts +59 -0
- package/src/conversion/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/processor.js +301 -0
- package/src/conversion/node_modules/glob/dist/commonjs/processor.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/walker.d.ts +97 -0
- package/src/conversion/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/commonjs/walker.js +387 -0
- package/src/conversion/node_modules/glob/dist/commonjs/walker.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/glob.d.ts +388 -0
- package/src/conversion/node_modules/glob/dist/esm/glob.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/glob.js +243 -0
- package/src/conversion/node_modules/glob/dist/esm/glob.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/has-magic.d.ts +14 -0
- package/src/conversion/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/has-magic.js +23 -0
- package/src/conversion/node_modules/glob/dist/esm/has-magic.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/ignore.d.ts +24 -0
- package/src/conversion/node_modules/glob/dist/esm/ignore.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/ignore.js +115 -0
- package/src/conversion/node_modules/glob/dist/esm/ignore.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/index.d.ts +97 -0
- package/src/conversion/node_modules/glob/dist/esm/index.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/index.js +55 -0
- package/src/conversion/node_modules/glob/dist/esm/index.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/package.json +3 -0
- package/src/conversion/node_modules/glob/dist/esm/pattern.d.ts +76 -0
- package/src/conversion/node_modules/glob/dist/esm/pattern.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/pattern.js +215 -0
- package/src/conversion/node_modules/glob/dist/esm/pattern.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/processor.d.ts +59 -0
- package/src/conversion/node_modules/glob/dist/esm/processor.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/processor.js +294 -0
- package/src/conversion/node_modules/glob/dist/esm/processor.js.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/walker.d.ts +97 -0
- package/src/conversion/node_modules/glob/dist/esm/walker.d.ts.map +1 -0
- package/src/conversion/node_modules/glob/dist/esm/walker.js +381 -0
- package/src/conversion/node_modules/glob/dist/esm/walker.js.map +1 -0
- package/src/conversion/node_modules/glob/package.json +93 -0
- package/src/conversion/node_modules/minimatch/LICENSE.md +55 -0
- package/src/conversion/node_modules/minimatch/README.md +453 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts +2 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/assert-valid-pattern.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js +14 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/ast.d.ts +20 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/ast.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/ast.js +591 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/ast.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +8 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/brace-expressions.js +152 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/escape.d.ts +15 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/escape.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/escape.js +30 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/escape.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/index.d.ts +94 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/index.js +1029 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/index.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/package.json +3 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/unescape.d.ts +22 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/unescape.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/unescape.js +38 -0
- package/src/conversion/node_modules/minimatch/dist/commonjs/unescape.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts +2 -0
- package/src/conversion/node_modules/minimatch/dist/esm/assert-valid-pattern.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/assert-valid-pattern.js +10 -0
- package/src/conversion/node_modules/minimatch/dist/esm/assert-valid-pattern.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/ast.d.ts +20 -0
- package/src/conversion/node_modules/minimatch/dist/esm/ast.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/ast.js +587 -0
- package/src/conversion/node_modules/minimatch/dist/esm/ast.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/brace-expressions.d.ts +8 -0
- package/src/conversion/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/brace-expressions.js +148 -0
- package/src/conversion/node_modules/minimatch/dist/esm/brace-expressions.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/escape.d.ts +15 -0
- package/src/conversion/node_modules/minimatch/dist/esm/escape.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/escape.js +26 -0
- package/src/conversion/node_modules/minimatch/dist/esm/escape.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/index.d.ts +94 -0
- package/src/conversion/node_modules/minimatch/dist/esm/index.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/index.js +1016 -0
- package/src/conversion/node_modules/minimatch/dist/esm/index.js.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/package.json +3 -0
- package/src/conversion/node_modules/minimatch/dist/esm/unescape.d.ts +22 -0
- package/src/conversion/node_modules/minimatch/dist/esm/unescape.d.ts.map +1 -0
- package/src/conversion/node_modules/minimatch/dist/esm/unescape.js +34 -0
- package/src/conversion/node_modules/minimatch/dist/esm/unescape.js.map +1 -0
- package/src/conversion/node_modules/minimatch/package.json +78 -0
- package/src/conversion/node_modules/rimraf/LICENSE.md +55 -0
- package/src/conversion/node_modules/rimraf/README.md +226 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/default-tmp.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/default-tmp.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/default-tmp.js +58 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/default-tmp.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/error.d.ts +6 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/error.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/error.js +10 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/error.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/fix-eperm.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/fix-eperm.js +38 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/fix-eperm.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/fs.d.ts +15 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/fs.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/fs.js +33 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/fs.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/ignore-enoent.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/ignore-enoent.js +24 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/ignore-enoent.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/index.d.ts +50 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/index.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/index.js +78 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/index.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/opt-arg.d.ts +34 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/opt-arg.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/opt-arg.js +53 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/opt-arg.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/package.json +3 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/path-arg.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/path-arg.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/path-arg.js +48 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/path-arg.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/readdir-or-error.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/readdir-or-error.js +19 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/readdir-or-error.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/retry-busy.d.ts +8 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/retry-busy.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/retry-busy.js +65 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/retry-busy.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-manual.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-manual.js +8 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-manual.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-move-remove.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js +138 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-move-remove.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-native.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-native.js +24 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-native.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-posix.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-posix.js +103 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-posix.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-windows.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-windows.js +159 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/rimraf-windows.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/use-native.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/use-native.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/use-native.js +18 -0
- package/src/conversion/node_modules/rimraf/dist/commonjs/use-native.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/bin.d.mts +3 -0
- package/src/conversion/node_modules/rimraf/dist/esm/bin.d.mts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/bin.mjs +250 -0
- package/src/conversion/node_modules/rimraf/dist/esm/bin.mjs.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/default-tmp.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/esm/default-tmp.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/default-tmp.js +55 -0
- package/src/conversion/node_modules/rimraf/dist/esm/default-tmp.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/error.d.ts +6 -0
- package/src/conversion/node_modules/rimraf/dist/esm/error.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/error.js +5 -0
- package/src/conversion/node_modules/rimraf/dist/esm/error.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/fix-eperm.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/esm/fix-eperm.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/fix-eperm.js +33 -0
- package/src/conversion/node_modules/rimraf/dist/esm/fix-eperm.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/fs.d.ts +15 -0
- package/src/conversion/node_modules/rimraf/dist/esm/fs.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/fs.js +18 -0
- package/src/conversion/node_modules/rimraf/dist/esm/fs.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/ignore-enoent.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/esm/ignore-enoent.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/ignore-enoent.js +19 -0
- package/src/conversion/node_modules/rimraf/dist/esm/ignore-enoent.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/index.d.ts +50 -0
- package/src/conversion/node_modules/rimraf/dist/esm/index.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/index.js +70 -0
- package/src/conversion/node_modules/rimraf/dist/esm/index.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/opt-arg.d.ts +34 -0
- package/src/conversion/node_modules/rimraf/dist/esm/opt-arg.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/opt-arg.js +46 -0
- package/src/conversion/node_modules/rimraf/dist/esm/opt-arg.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/package.json +3 -0
- package/src/conversion/node_modules/rimraf/dist/esm/path-arg.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/esm/path-arg.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/path-arg.js +46 -0
- package/src/conversion/node_modules/rimraf/dist/esm/path-arg.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/readdir-or-error.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/esm/readdir-or-error.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/readdir-or-error.js +14 -0
- package/src/conversion/node_modules/rimraf/dist/esm/readdir-or-error.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/retry-busy.d.ts +8 -0
- package/src/conversion/node_modules/rimraf/dist/esm/retry-busy.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/retry-busy.js +60 -0
- package/src/conversion/node_modules/rimraf/dist/esm/retry-busy.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-manual.d.ts +3 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-manual.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-manual.js +5 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-manual.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-move-remove.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-move-remove.js +133 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-move-remove.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-native.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-native.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-native.js +19 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-native.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-posix.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-posix.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-posix.js +98 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-posix.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-windows.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-windows.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-windows.js +154 -0
- package/src/conversion/node_modules/rimraf/dist/esm/rimraf-windows.js.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/use-native.d.ts +4 -0
- package/src/conversion/node_modules/rimraf/dist/esm/use-native.d.ts.map +1 -0
- package/src/conversion/node_modules/rimraf/dist/esm/use-native.js +15 -0
- package/src/conversion/node_modules/rimraf/dist/esm/use-native.js.map +1 -0
- package/src/conversion/node_modules/rimraf/package.json +92 -0
- package/src/conversion/package.json +4 -13
- package/src/conversion/src/docs/index.md +6 -1
- package/src/conversion/src/ts/converter.ts +85 -0
- package/src/conversion/src/ts/fixedPoint/index.ts +87 -0
- package/src/conversion/src/ts/index.ts +18 -32
- package/src/conversion/tsconfig.json +1 -1
- package/src/conversion/vite.config.ts +38 -1
- package/src/index.ts +167 -39
- package/src/conversion/tsconfig.rollup.json +0 -9
- package/src/conversion/types/bindings.d.t.s +0 -4
- /package/dist/types/dist/dist/{types/index.d.ts → index.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rimraf-windows.js","sourceRoot":"","sources":["../../src/rimraf-windows.ts"],"names":[],"mappings":"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","sourcesContent":["// This is the same as rimrafPosix, with the following changes:\n//\n// 1. EBUSY, ENFILE, EMFILE trigger retries and/or exponential backoff\n// 2. All non-directories are removed first and then all directories are\n// removed in a second sweep.\n// 3. If we hit ENOTEMPTY in the second sweep, fall back to move-remove on\n// the that folder.\n//\n// Note: \"move then remove\" is 2-10 times slower, and just as unreliable.\n\nimport { Dirent, Stats } from 'fs'\nimport { parse, resolve } from 'path'\nimport { RimrafAsyncOptions, RimrafSyncOptions } from './index.js'\nimport { fixEPERM, fixEPERMSync } from './fix-eperm.js'\nimport { lstatSync, promises, rmdirSync, unlinkSync } from './fs.js'\nimport { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent.js'\nimport { readdirOrError, readdirOrErrorSync } from './readdir-or-error.js'\nimport { retryBusy, retryBusySync } from './retry-busy.js'\nimport { rimrafMoveRemove, rimrafMoveRemoveSync } from './rimraf-move-remove.js'\nimport { errorCode } from './error.js'\nconst { unlink, rmdir, lstat } = promises\n\nconst rimrafWindowsFile = retryBusy(fixEPERM(unlink))\nconst rimrafWindowsFileSync = retryBusySync(fixEPERMSync(unlinkSync))\nconst rimrafWindowsDirRetry = retryBusy(fixEPERM(rmdir))\nconst rimrafWindowsDirRetrySync = retryBusySync(fixEPERMSync(rmdirSync))\n\nconst rimrafWindowsDirMoveRemoveFallback = async (\n path: string,\n // already filtered, remove from options so we don't call unnecessarily\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n { filter, ...opt }: RimrafAsyncOptions,\n): Promise<boolean> => {\n /* c8 ignore next */\n opt?.signal?.throwIfAborted()\n try {\n await rimrafWindowsDirRetry(path, opt)\n return true\n } catch (er) {\n if (errorCode(er) === 'ENOTEMPTY') {\n return rimrafMoveRemove(path, opt)\n }\n throw er\n }\n}\n\nconst rimrafWindowsDirMoveRemoveFallbackSync = (\n path: string,\n // already filtered, remove from options so we don't call unnecessarily\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n { filter, ...opt }: RimrafSyncOptions,\n): boolean => {\n opt?.signal?.throwIfAborted()\n try {\n rimrafWindowsDirRetrySync(path, opt)\n return true\n } catch (er) {\n if (errorCode(er) === 'ENOTEMPTY') {\n return rimrafMoveRemoveSync(path, opt)\n }\n throw er\n }\n}\n\nconst START = Symbol('start')\nconst CHILD = Symbol('child')\nconst FINISH = Symbol('finish')\n\nexport const rimrafWindows = async (path: string, opt: RimrafAsyncOptions) => {\n opt?.signal?.throwIfAborted()\n return (\n (await ignoreENOENT(\n lstat(path).then(stat => rimrafWindowsDir(path, opt, stat, START)),\n )) ?? true\n )\n}\n\nexport const rimrafWindowsSync = (path: string, opt: RimrafSyncOptions) => {\n opt?.signal?.throwIfAborted()\n return (\n ignoreENOENTSync(() =>\n rimrafWindowsDirSync(path, opt, lstatSync(path), START),\n ) ?? true\n )\n}\n\nconst rimrafWindowsDir = async (\n path: string,\n opt: RimrafAsyncOptions,\n ent: Dirent | Stats,\n state = START,\n): Promise<boolean> => {\n opt?.signal?.throwIfAborted()\n\n const entries = ent.isDirectory() ? await readdirOrError(path) : null\n if (!Array.isArray(entries)) {\n // this can only happen if lstat/readdir lied, or if the dir was\n // swapped out with a file at just the right moment.\n /* c8 ignore start */\n if (entries) {\n if (errorCode(entries) === 'ENOENT') {\n return true\n }\n if (errorCode(entries) !== 'ENOTDIR') {\n throw entries\n }\n }\n /* c8 ignore stop */\n if (opt.filter && !(await opt.filter(path, ent))) {\n return false\n }\n // is a file\n await ignoreENOENT(rimrafWindowsFile(path, opt))\n return true\n }\n\n const s = state === START ? CHILD : state\n const removedAll = (\n await Promise.all(\n entries.map(ent =>\n rimrafWindowsDir(resolve(path, ent.name), opt, ent, s),\n ),\n )\n ).every(v => v === true)\n\n if (state === START) {\n return rimrafWindowsDir(path, opt, ent, FINISH)\n } else if (state === FINISH) {\n if (opt.preserveRoot === false && path === parse(path).root) {\n return false\n }\n if (!removedAll) {\n return false\n }\n if (opt.filter && !(await opt.filter(path, ent))) {\n return false\n }\n await ignoreENOENT(rimrafWindowsDirMoveRemoveFallback(path, opt))\n }\n return true\n}\n\nconst rimrafWindowsDirSync = (\n path: string,\n opt: RimrafSyncOptions,\n ent: Dirent | Stats,\n state = START,\n): boolean => {\n const entries = ent.isDirectory() ? readdirOrErrorSync(path) : null\n if (!Array.isArray(entries)) {\n // this can only happen if lstat/readdir lied, or if the dir was\n // swapped out with a file at just the right moment.\n /* c8 ignore start */\n if (entries) {\n if (errorCode(entries) === 'ENOENT') {\n return true\n }\n if (errorCode(entries) !== 'ENOTDIR') {\n throw entries\n }\n }\n /* c8 ignore stop */\n if (opt.filter && !opt.filter(path, ent)) {\n return false\n }\n // is a file\n ignoreENOENTSync(() => rimrafWindowsFileSync(path, opt))\n return true\n }\n\n let removedAll = true\n for (const ent of entries) {\n const s = state === START ? CHILD : state\n const p = resolve(path, ent.name)\n removedAll = rimrafWindowsDirSync(p, opt, ent, s) && removedAll\n }\n\n if (state === START) {\n return rimrafWindowsDirSync(path, opt, ent, FINISH)\n } else if (state === FINISH) {\n if (opt.preserveRoot === false && path === parse(path).root) {\n return false\n }\n if (!removedAll) {\n return false\n }\n if (opt.filter && !opt.filter(path, ent)) {\n return false\n }\n ignoreENOENTSync(() => rimrafWindowsDirMoveRemoveFallbackSync(path, opt))\n }\n return true\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-native.d.ts","sourceRoot":"","sources":["../../src/use-native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAW9D,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,kBAAkB,KAAK,OAGf,CAAA;AACvC,eAAO,MAAM,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,aAAa,KAAK,OAGd,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useNativeSync = exports.useNative = void 0;
|
|
4
|
+
/* c8 ignore next */
|
|
5
|
+
const [major = 0, minor = 0] = process.version
|
|
6
|
+
.replace(/^v/, '')
|
|
7
|
+
.split('.')
|
|
8
|
+
.map(v => parseInt(v, 10));
|
|
9
|
+
const hasNative = major > 14 || (major === 14 && minor >= 14);
|
|
10
|
+
// we do NOT use native by default on Windows, because Node's native
|
|
11
|
+
// rm implementation is less advanced. Change this code if that changes.
|
|
12
|
+
exports.useNative = !hasNative || process.platform === 'win32' ?
|
|
13
|
+
() => false
|
|
14
|
+
: opt => !opt?.signal && !opt?.filter;
|
|
15
|
+
exports.useNativeSync = !hasNative || process.platform === 'win32' ?
|
|
16
|
+
() => false
|
|
17
|
+
: opt => !opt?.signal && !opt?.filter;
|
|
18
|
+
//# sourceMappingURL=use-native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-native.js","sourceRoot":"","sources":["../../src/use-native.ts"],"names":[],"mappings":";;;AAEA,oBAAoB;AACpB,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO;KAC3C,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;KACjB,KAAK,CAAC,GAAG,CAAC;KACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;AAC5B,MAAM,SAAS,GAAG,KAAK,GAAG,EAAE,IAAI,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,IAAI,EAAE,CAAC,CAAA;AAE7D,oEAAoE;AACpE,yEAAyE;AAC5D,QAAA,SAAS,GACpB,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC1C,GAAG,EAAE,CAAC,KAAK;IACb,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,CAAA;AAC1B,QAAA,aAAa,GACxB,CAAC,SAAS,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;IAC1C,GAAG,EAAE,CAAC,KAAK;IACb,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,MAAM,CAAA","sourcesContent":["import { RimrafAsyncOptions, RimrafOptions } from './index.js'\n\n/* c8 ignore next */\nconst [major = 0, minor = 0] = process.version\n .replace(/^v/, '')\n .split('.')\n .map(v => parseInt(v, 10))\nconst hasNative = major > 14 || (major === 14 && minor >= 14)\n\n// we do NOT use native by default on Windows, because Node's native\n// rm implementation is less advanced. Change this code if that changes.\nexport const useNative: (opt?: RimrafAsyncOptions) => boolean =\n !hasNative || process.platform === 'win32' ?\n () => false\n : opt => !opt?.signal && !opt?.filter\nexport const useNativeSync: (opt?: RimrafOptions) => boolean =\n !hasNative || process.platform === 'win32' ?\n () => false\n : opt => !opt?.signal && !opt?.filter\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.mts","sourceRoot":"","sources":["../../src/bin.mts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,250 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { rimraf } from './index.js';
|
|
3
|
+
import { loadPackageJson } from 'package-json-from-dist';
|
|
4
|
+
const { version } = loadPackageJson(import.meta.url, '../package.json');
|
|
5
|
+
const runHelpForUsage = () => console.error('run `rimraf --help` for usage information');
|
|
6
|
+
const help = `rimraf version ${version}
|
|
7
|
+
|
|
8
|
+
Usage: rimraf <path> [<path> ...]
|
|
9
|
+
Deletes all files and folders at "path", recursively.
|
|
10
|
+
|
|
11
|
+
Options:
|
|
12
|
+
-- Treat all subsequent arguments as paths
|
|
13
|
+
-h --help Display this usage info
|
|
14
|
+
--version Display version
|
|
15
|
+
--preserve-root Do not remove '/' recursively (default)
|
|
16
|
+
--no-preserve-root Do not treat '/' specially
|
|
17
|
+
-G --no-glob Treat arguments as literal paths, not globs (default)
|
|
18
|
+
-g --glob Treat arguments as glob patterns
|
|
19
|
+
-v --verbose Be verbose when deleting files, showing them as
|
|
20
|
+
they are removed. Not compatible with --impl=native
|
|
21
|
+
-V --no-verbose Be silent when deleting files, showing nothing as
|
|
22
|
+
they are removed (default)
|
|
23
|
+
-i --interactive Ask for confirmation before deleting anything
|
|
24
|
+
Not compatible with --impl=native
|
|
25
|
+
-I --no-interactive Do not ask for confirmation before deleting
|
|
26
|
+
|
|
27
|
+
--impl=<type> Specify the implementation to use:
|
|
28
|
+
rimraf: choose the best option (default)
|
|
29
|
+
native: the built-in implementation in Node.js
|
|
30
|
+
manual: the platform-specific JS implementation
|
|
31
|
+
posix: the Posix JS implementation
|
|
32
|
+
windows: the Windows JS implementation (falls back to
|
|
33
|
+
move-remove on ENOTEMPTY)
|
|
34
|
+
move-remove: a slow reliable Windows fallback
|
|
35
|
+
|
|
36
|
+
Implementation-specific options:
|
|
37
|
+
--tmp=<path> Temp file folder for 'move-remove' implementation
|
|
38
|
+
--max-retries=<n> maxRetries for 'native' and 'windows' implementations
|
|
39
|
+
--retry-delay=<n> retryDelay for 'native' implementation, default 100
|
|
40
|
+
--backoff=<n> Exponential backoff factor for retries (default: 1.2)
|
|
41
|
+
`;
|
|
42
|
+
import { parse, relative, resolve } from 'path';
|
|
43
|
+
const cwd = process.cwd();
|
|
44
|
+
import { createInterface } from 'readline';
|
|
45
|
+
const prompt = async (rl, q) => new Promise(res => rl.question(q, res));
|
|
46
|
+
const interactiveRimraf = async (impl, paths, opt) => {
|
|
47
|
+
const existingFilter = opt.filter || (() => true);
|
|
48
|
+
let allRemaining = false;
|
|
49
|
+
let noneRemaining = false;
|
|
50
|
+
const queue = [];
|
|
51
|
+
let processing = false;
|
|
52
|
+
const processQueue = async () => {
|
|
53
|
+
if (processing)
|
|
54
|
+
return;
|
|
55
|
+
processing = true;
|
|
56
|
+
let next;
|
|
57
|
+
while ((next = queue.shift())) {
|
|
58
|
+
await next();
|
|
59
|
+
}
|
|
60
|
+
processing = false;
|
|
61
|
+
};
|
|
62
|
+
const oneAtATime = (fn) => async (s, e) => {
|
|
63
|
+
const p = new Promise(res => {
|
|
64
|
+
queue.push(async () => {
|
|
65
|
+
const result = await fn(s, e);
|
|
66
|
+
res(result);
|
|
67
|
+
return result;
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
void processQueue();
|
|
71
|
+
return p;
|
|
72
|
+
};
|
|
73
|
+
const rl = createInterface({
|
|
74
|
+
input: process.stdin,
|
|
75
|
+
output: process.stdout,
|
|
76
|
+
});
|
|
77
|
+
opt.filter = oneAtATime(async (path, ent) => {
|
|
78
|
+
if (noneRemaining) {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
while (!allRemaining) {
|
|
82
|
+
const a = (await prompt(rl, `rm? ${relative(cwd, path)}\n[(Yes)/No/All/Quit] > `)).trim();
|
|
83
|
+
if (/^n/i.test(a)) {
|
|
84
|
+
return false;
|
|
85
|
+
}
|
|
86
|
+
else if (/^a/i.test(a)) {
|
|
87
|
+
allRemaining = true;
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
else if (/^q/i.test(a)) {
|
|
91
|
+
noneRemaining = true;
|
|
92
|
+
return false;
|
|
93
|
+
}
|
|
94
|
+
else if (a === '' || /^y/i.test(a)) {
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return existingFilter(path, ent);
|
|
102
|
+
});
|
|
103
|
+
await impl(paths, opt);
|
|
104
|
+
rl.close();
|
|
105
|
+
};
|
|
106
|
+
const main = async (...args) => {
|
|
107
|
+
const verboseFilter = (s) => {
|
|
108
|
+
console.log(relative(cwd, s));
|
|
109
|
+
return true;
|
|
110
|
+
};
|
|
111
|
+
const opt = {};
|
|
112
|
+
const paths = [];
|
|
113
|
+
let dashdash = false;
|
|
114
|
+
let impl = rimraf;
|
|
115
|
+
let interactive = false;
|
|
116
|
+
for (const arg of args) {
|
|
117
|
+
if (dashdash) {
|
|
118
|
+
paths.push(arg);
|
|
119
|
+
continue;
|
|
120
|
+
}
|
|
121
|
+
if (arg === '--') {
|
|
122
|
+
dashdash = true;
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
else if (arg === '-rf' || arg === '-fr') {
|
|
126
|
+
// this never did anything, but people put it there I guess
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
else if (arg === '-h' || arg === '--help') {
|
|
130
|
+
console.log(help);
|
|
131
|
+
return 0;
|
|
132
|
+
}
|
|
133
|
+
else if (arg === '--version') {
|
|
134
|
+
console.log(version);
|
|
135
|
+
return 0;
|
|
136
|
+
}
|
|
137
|
+
else if (arg === '--interactive' || arg === '-i') {
|
|
138
|
+
interactive = true;
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
else if (arg === '--no-interactive' || arg === '-I') {
|
|
142
|
+
interactive = false;
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
else if (arg === '--verbose' || arg === '-v') {
|
|
146
|
+
opt.filter = verboseFilter;
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
else if (arg === '--no-verbose' || arg === '-V') {
|
|
150
|
+
opt.filter = undefined;
|
|
151
|
+
continue;
|
|
152
|
+
}
|
|
153
|
+
else if (arg === '-g' || arg === '--glob') {
|
|
154
|
+
opt.glob = true;
|
|
155
|
+
continue;
|
|
156
|
+
}
|
|
157
|
+
else if (arg === '-G' || arg === '--no-glob') {
|
|
158
|
+
opt.glob = false;
|
|
159
|
+
continue;
|
|
160
|
+
}
|
|
161
|
+
else if (arg === '--preserve-root') {
|
|
162
|
+
opt.preserveRoot = true;
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
else if (arg === '--no-preserve-root') {
|
|
166
|
+
opt.preserveRoot = false;
|
|
167
|
+
continue;
|
|
168
|
+
}
|
|
169
|
+
else if (/^--tmp=/.test(arg)) {
|
|
170
|
+
const val = arg.substring('--tmp='.length);
|
|
171
|
+
opt.tmp = val;
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
else if (/^--max-retries=/.test(arg)) {
|
|
175
|
+
const val = +arg.substring('--max-retries='.length);
|
|
176
|
+
opt.maxRetries = val;
|
|
177
|
+
continue;
|
|
178
|
+
}
|
|
179
|
+
else if (/^--retry-delay=/.test(arg)) {
|
|
180
|
+
const val = +arg.substring('--retry-delay='.length);
|
|
181
|
+
opt.retryDelay = val;
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
else if (/^--backoff=/.test(arg)) {
|
|
185
|
+
const val = +arg.substring('--backoff='.length);
|
|
186
|
+
opt.backoff = val;
|
|
187
|
+
continue;
|
|
188
|
+
}
|
|
189
|
+
else if (/^--impl=/.test(arg)) {
|
|
190
|
+
const val = arg.substring('--impl='.length);
|
|
191
|
+
switch (val) {
|
|
192
|
+
case 'rimraf':
|
|
193
|
+
impl = rimraf;
|
|
194
|
+
continue;
|
|
195
|
+
case 'native':
|
|
196
|
+
case 'manual':
|
|
197
|
+
case 'posix':
|
|
198
|
+
case 'windows':
|
|
199
|
+
impl = rimraf[val];
|
|
200
|
+
continue;
|
|
201
|
+
case 'move-remove':
|
|
202
|
+
impl = rimraf.moveRemove;
|
|
203
|
+
continue;
|
|
204
|
+
default:
|
|
205
|
+
console.error(`unknown implementation: ${val}`);
|
|
206
|
+
runHelpForUsage();
|
|
207
|
+
return 1;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
else if (/^-/.test(arg)) {
|
|
211
|
+
console.error(`unknown option: ${arg}`);
|
|
212
|
+
runHelpForUsage();
|
|
213
|
+
return 1;
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
paths.push(arg);
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
if (opt.preserveRoot !== false) {
|
|
220
|
+
for (const path of paths.map(p => resolve(p))) {
|
|
221
|
+
if (path === parse(path).root) {
|
|
222
|
+
console.error(`rimraf: it is dangerous to operate recursively on '/'`);
|
|
223
|
+
console.error('use --no-preserve-root to override this failsafe');
|
|
224
|
+
return 1;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (!paths.length) {
|
|
229
|
+
console.error('rimraf: must provide a path to remove');
|
|
230
|
+
runHelpForUsage();
|
|
231
|
+
return 1;
|
|
232
|
+
}
|
|
233
|
+
if (impl === rimraf.native && (interactive || opt.filter)) {
|
|
234
|
+
console.error('native implementation does not support -v or -i');
|
|
235
|
+
runHelpForUsage();
|
|
236
|
+
return 1;
|
|
237
|
+
}
|
|
238
|
+
if (interactive) {
|
|
239
|
+
await interactiveRimraf(impl, paths, opt);
|
|
240
|
+
}
|
|
241
|
+
else {
|
|
242
|
+
await impl(paths, opt);
|
|
243
|
+
}
|
|
244
|
+
return 0;
|
|
245
|
+
};
|
|
246
|
+
main(...process.argv.slice(2)).then(code => process.exit(code), er => {
|
|
247
|
+
console.error(er);
|
|
248
|
+
process.exit(1);
|
|
249
|
+
});
|
|
250
|
+
//# sourceMappingURL=bin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.mjs","sourceRoot":"","sources":["../../src/bin.mts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport type { RimrafAsyncOptions } from './index.js'\nimport { rimraf } from './index.js'\nimport { loadPackageJson } from 'package-json-from-dist'\n\nconst { version } = loadPackageJson(import.meta.url, '../package.json') as {\n version: string\n}\n\nconst runHelpForUsage = () =>\n console.error('run `rimraf --help` for usage information')\n\nconst help = `rimraf version ${version}\n\nUsage: rimraf <path> [<path> ...]\nDeletes all files and folders at \"path\", recursively.\n\nOptions:\n -- Treat all subsequent arguments as paths\n -h --help Display this usage info\n --version Display version\n --preserve-root Do not remove '/' recursively (default)\n --no-preserve-root Do not treat '/' specially\n -G --no-glob Treat arguments as literal paths, not globs (default)\n -g --glob Treat arguments as glob patterns\n -v --verbose Be verbose when deleting files, showing them as\n they are removed. Not compatible with --impl=native\n -V --no-verbose Be silent when deleting files, showing nothing as\n they are removed (default)\n -i --interactive Ask for confirmation before deleting anything\n Not compatible with --impl=native\n -I --no-interactive Do not ask for confirmation before deleting\n\n --impl=<type> Specify the implementation to use:\n rimraf: choose the best option (default)\n native: the built-in implementation in Node.js\n manual: the platform-specific JS implementation\n posix: the Posix JS implementation\n windows: the Windows JS implementation (falls back to\n move-remove on ENOTEMPTY)\n move-remove: a slow reliable Windows fallback\n\nImplementation-specific options:\n --tmp=<path> Temp file folder for 'move-remove' implementation\n --max-retries=<n> maxRetries for 'native' and 'windows' implementations\n --retry-delay=<n> retryDelay for 'native' implementation, default 100\n --backoff=<n> Exponential backoff factor for retries (default: 1.2)\n`\n\nimport { parse, relative, resolve } from 'path'\nconst cwd = process.cwd()\n\nimport { Dirent, Stats } from 'fs'\nimport { createInterface, Interface } from 'readline'\n\nconst prompt = async (rl: Interface, q: string) =>\n new Promise<string>(res => rl.question(q, res))\n\nconst interactiveRimraf = async (\n impl: (path: string | string[], opt?: RimrafAsyncOptions) => Promise<boolean>,\n paths: string[],\n opt: RimrafAsyncOptions,\n) => {\n const existingFilter = opt.filter || (() => true)\n let allRemaining = false\n let noneRemaining = false\n const queue: (() => Promise<boolean>)[] = []\n let processing = false\n const processQueue = async () => {\n if (processing) return\n processing = true\n let next: (() => Promise<boolean>) | undefined\n while ((next = queue.shift())) {\n await next()\n }\n processing = false\n }\n const oneAtATime =\n (fn: (s: string, e: Dirent | Stats) => Promise<boolean>) =>\n async (s: string, e: Dirent | Stats): Promise<boolean> => {\n const p = new Promise<boolean>(res => {\n queue.push(async () => {\n const result = await fn(s, e)\n res(result)\n return result\n })\n })\n void processQueue()\n return p\n }\n const rl = createInterface({\n input: process.stdin,\n output: process.stdout,\n })\n opt.filter = oneAtATime(\n async (path: string, ent: Dirent | Stats): Promise<boolean> => {\n if (noneRemaining) {\n return false\n }\n while (!allRemaining) {\n const a = (\n await prompt(rl, `rm? ${relative(cwd, path)}\\n[(Yes)/No/All/Quit] > `)\n ).trim()\n if (/^n/i.test(a)) {\n return false\n } else if (/^a/i.test(a)) {\n allRemaining = true\n break\n } else if (/^q/i.test(a)) {\n noneRemaining = true\n return false\n } else if (a === '' || /^y/i.test(a)) {\n break\n } else {\n continue\n }\n }\n return existingFilter(path, ent)\n },\n )\n await impl(paths, opt)\n rl.close()\n}\n\nconst main = async (...args: string[]) => {\n const verboseFilter = (s: string) => {\n console.log(relative(cwd, s))\n return true\n }\n\n const opt: RimrafAsyncOptions = {}\n const paths: string[] = []\n let dashdash = false\n let impl: (\n path: string | string[],\n opt?: RimrafAsyncOptions,\n ) => Promise<boolean> = rimraf\n\n let interactive = false\n\n for (const arg of args) {\n if (dashdash) {\n paths.push(arg)\n continue\n }\n if (arg === '--') {\n dashdash = true\n continue\n } else if (arg === '-rf' || arg === '-fr') {\n // this never did anything, but people put it there I guess\n continue\n } else if (arg === '-h' || arg === '--help') {\n console.log(help)\n return 0\n } else if (arg === '--version') {\n console.log(version)\n return 0\n } else if (arg === '--interactive' || arg === '-i') {\n interactive = true\n continue\n } else if (arg === '--no-interactive' || arg === '-I') {\n interactive = false\n continue\n } else if (arg === '--verbose' || arg === '-v') {\n opt.filter = verboseFilter\n continue\n } else if (arg === '--no-verbose' || arg === '-V') {\n opt.filter = undefined\n continue\n } else if (arg === '-g' || arg === '--glob') {\n opt.glob = true\n continue\n } else if (arg === '-G' || arg === '--no-glob') {\n opt.glob = false\n continue\n } else if (arg === '--preserve-root') {\n opt.preserveRoot = true\n continue\n } else if (arg === '--no-preserve-root') {\n opt.preserveRoot = false\n continue\n } else if (/^--tmp=/.test(arg)) {\n const val = arg.substring('--tmp='.length)\n opt.tmp = val\n continue\n } else if (/^--max-retries=/.test(arg)) {\n const val = +arg.substring('--max-retries='.length)\n opt.maxRetries = val\n continue\n } else if (/^--retry-delay=/.test(arg)) {\n const val = +arg.substring('--retry-delay='.length)\n opt.retryDelay = val\n continue\n } else if (/^--backoff=/.test(arg)) {\n const val = +arg.substring('--backoff='.length)\n opt.backoff = val\n continue\n } else if (/^--impl=/.test(arg)) {\n const val = arg.substring('--impl='.length)\n switch (val) {\n case 'rimraf':\n impl = rimraf\n continue\n case 'native':\n case 'manual':\n case 'posix':\n case 'windows':\n impl = rimraf[val]\n continue\n case 'move-remove':\n impl = rimraf.moveRemove\n continue\n default:\n console.error(`unknown implementation: ${val}`)\n runHelpForUsage()\n return 1\n }\n } else if (/^-/.test(arg)) {\n console.error(`unknown option: ${arg}`)\n runHelpForUsage()\n return 1\n } else {\n paths.push(arg)\n }\n }\n\n if (opt.preserveRoot !== false) {\n for (const path of paths.map(p => resolve(p))) {\n if (path === parse(path).root) {\n console.error(`rimraf: it is dangerous to operate recursively on '/'`)\n console.error('use --no-preserve-root to override this failsafe')\n return 1\n }\n }\n }\n\n if (!paths.length) {\n console.error('rimraf: must provide a path to remove')\n runHelpForUsage()\n return 1\n }\n\n if (impl === rimraf.native && (interactive || opt.filter)) {\n console.error('native implementation does not support -v or -i')\n runHelpForUsage()\n return 1\n }\n\n if (interactive) {\n await interactiveRimraf(impl, paths, opt)\n } else {\n await impl(paths, opt)\n }\n\n return 0\n}\n\nmain(...process.argv.slice(2)).then(\n code => process.exit(code),\n er => {\n console.error(er)\n process.exit(1)\n },\n)\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-tmp.d.ts","sourceRoot":"","sources":["../../src/default-tmp.ts"],"names":[],"mappings":"AAiEA,eAAO,MAAM,UAAU,SApCc,MAAM,oBAqCuB,CAAA;AAClE,eAAO,MAAM,cAAc,SAtBQ,MAAM,WAuBiC,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// The default temporary folder location for use in the windows algorithm.
|
|
2
|
+
// It's TEMPting to use dirname(path), since that's guaranteed to be on the
|
|
3
|
+
// same device. However, this means that:
|
|
4
|
+
// rimraf(path).then(() => rimraf(dirname(path)))
|
|
5
|
+
// will often fail with EBUSY, because the parent dir contains
|
|
6
|
+
// marked-for-deletion directory entries (which do not show up in readdir).
|
|
7
|
+
// The approach here is to use os.tmpdir() if it's on the same drive letter,
|
|
8
|
+
// or resolve(path, '\\temp') if it exists, or the root of the drive if not.
|
|
9
|
+
// On Posix (not that you'd be likely to use the windows algorithm there),
|
|
10
|
+
// it uses os.tmpdir() always.
|
|
11
|
+
import { tmpdir } from 'os';
|
|
12
|
+
import { parse, resolve } from 'path';
|
|
13
|
+
import { promises, statSync } from './fs.js';
|
|
14
|
+
const { stat } = promises;
|
|
15
|
+
const isDirSync = (path) => {
|
|
16
|
+
try {
|
|
17
|
+
return statSync(path).isDirectory();
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
const isDir = (path) => stat(path).then(st => st.isDirectory(), () => false);
|
|
24
|
+
const win32DefaultTmp = async (path) => {
|
|
25
|
+
const { root } = parse(path);
|
|
26
|
+
const tmp = tmpdir();
|
|
27
|
+
const { root: tmpRoot } = parse(tmp);
|
|
28
|
+
if (root.toLowerCase() === tmpRoot.toLowerCase()) {
|
|
29
|
+
return tmp;
|
|
30
|
+
}
|
|
31
|
+
const driveTmp = resolve(root, '/temp');
|
|
32
|
+
if (await isDir(driveTmp)) {
|
|
33
|
+
return driveTmp;
|
|
34
|
+
}
|
|
35
|
+
return root;
|
|
36
|
+
};
|
|
37
|
+
const win32DefaultTmpSync = (path) => {
|
|
38
|
+
const { root } = parse(path);
|
|
39
|
+
const tmp = tmpdir();
|
|
40
|
+
const { root: tmpRoot } = parse(tmp);
|
|
41
|
+
if (root.toLowerCase() === tmpRoot.toLowerCase()) {
|
|
42
|
+
return tmp;
|
|
43
|
+
}
|
|
44
|
+
const driveTmp = resolve(root, '/temp');
|
|
45
|
+
if (isDirSync(driveTmp)) {
|
|
46
|
+
return driveTmp;
|
|
47
|
+
}
|
|
48
|
+
return root;
|
|
49
|
+
};
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
51
|
+
const posixDefaultTmp = async () => tmpdir();
|
|
52
|
+
const posixDefaultTmpSync = () => tmpdir();
|
|
53
|
+
export const defaultTmp = process.platform === 'win32' ? win32DefaultTmp : posixDefaultTmp;
|
|
54
|
+
export const defaultTmpSync = process.platform === 'win32' ? win32DefaultTmpSync : posixDefaultTmpSync;
|
|
55
|
+
//# sourceMappingURL=default-tmp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-tmp.js","sourceRoot":"","sources":["../../src/default-tmp.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,2EAA2E;AAC3E,0CAA0C;AAC1C,iDAAiD;AACjD,8DAA8D;AAC9D,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,0EAA0E;AAC1E,8BAA8B;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAA;AAEzB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAE;IACjC,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAA;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,EAAE,CAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CACb,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,EACtB,GAAG,EAAE,CAAC,KAAK,CACZ,CAAA;AAEH,MAAM,eAAe,GAAG,KAAK,EAAE,IAAY,EAAE,EAAE;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvC,IAAI,MAAM,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAE,EAAE;IAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,GAAG,GAAG,MAAM,EAAE,CAAA;IACpB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;IACpC,IAAI,IAAI,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACjD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IACvC,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,4DAA4D;AAC5D,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,EAAE,CAAA;AAC5C,MAAM,mBAAmB,GAAG,GAAG,EAAE,CAAC,MAAM,EAAE,CAAA;AAE1C,MAAM,CAAC,MAAM,UAAU,GACrB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAA;AAClE,MAAM,CAAC,MAAM,cAAc,GACzB,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAA","sourcesContent":["// The default temporary folder location for use in the windows algorithm.\n// It's TEMPting to use dirname(path), since that's guaranteed to be on the\n// same device. However, this means that:\n// rimraf(path).then(() => rimraf(dirname(path)))\n// will often fail with EBUSY, because the parent dir contains\n// marked-for-deletion directory entries (which do not show up in readdir).\n// The approach here is to use os.tmpdir() if it's on the same drive letter,\n// or resolve(path, '\\\\temp') if it exists, or the root of the drive if not.\n// On Posix (not that you'd be likely to use the windows algorithm there),\n// it uses os.tmpdir() always.\nimport { tmpdir } from 'os'\nimport { parse, resolve } from 'path'\nimport { promises, statSync } from './fs.js'\nconst { stat } = promises\n\nconst isDirSync = (path: string) => {\n try {\n return statSync(path).isDirectory()\n } catch {\n return false\n }\n}\n\nconst isDir = (path: string) =>\n stat(path).then(\n st => st.isDirectory(),\n () => false,\n )\n\nconst win32DefaultTmp = async (path: string) => {\n const { root } = parse(path)\n const tmp = tmpdir()\n const { root: tmpRoot } = parse(tmp)\n if (root.toLowerCase() === tmpRoot.toLowerCase()) {\n return tmp\n }\n\n const driveTmp = resolve(root, '/temp')\n if (await isDir(driveTmp)) {\n return driveTmp\n }\n\n return root\n}\n\nconst win32DefaultTmpSync = (path: string) => {\n const { root } = parse(path)\n const tmp = tmpdir()\n const { root: tmpRoot } = parse(tmp)\n if (root.toLowerCase() === tmpRoot.toLowerCase()) {\n return tmp\n }\n\n const driveTmp = resolve(root, '/temp')\n if (isDirSync(driveTmp)) {\n return driveTmp\n }\n\n return root\n}\n\n// eslint-disable-next-line @typescript-eslint/require-await\nconst posixDefaultTmp = async () => tmpdir()\nconst posixDefaultTmpSync = () => tmpdir()\n\nexport const defaultTmp =\n process.platform === 'win32' ? win32DefaultTmp : posixDefaultTmp\nexport const defaultTmpSync =\n process.platform === 'win32' ? win32DefaultTmpSync : posixDefaultTmpSync\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS,GACpB,GAAG,OAAO,KACT,CAAC,IAAI,MAAM,CAAC,cAAc,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACkD,CAAA;AAEhE,eAAO,MAAM,SAAS,GAAI,IAAI,OAAO,YACmB,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const isRecord = (o) => !!o && typeof o === 'object';
|
|
2
|
+
const hasString = (o, key) => key in o && typeof o[key] === 'string';
|
|
3
|
+
export const isFsError = (o) => isRecord(o) && hasString(o, 'code') && hasString(o, 'path');
|
|
4
|
+
export const errorCode = (er) => isRecord(er) && hasString(er, 'code') ? er.code : null;
|
|
5
|
+
//# sourceMappingURL=error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,CAAC,CAAU,EAAgC,EAAE,CAC5D,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAA;AAE9B,MAAM,SAAS,GAAG,CAAC,CAA0B,EAAE,GAAW,EAAE,EAAE,CAC5D,GAAG,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAA;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,CAAU,EAIV,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAW,EAAE,EAAE,CACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA","sourcesContent":["const isRecord = (o: unknown): o is Record<string, unknown> =>\n !!o && typeof o === 'object'\n\nconst hasString = (o: Record<string, unknown>, key: string) =>\n key in o && typeof o[key] === 'string'\n\nexport const isFsError = (\n o: unknown,\n): o is NodeJS.ErrnoException & {\n code: string\n path: string\n} => isRecord(o) && hasString(o, 'code') && hasString(o, 'path')\n\nexport const errorCode = (er: unknown) =>\n isRecord(er) && hasString(er, 'code') ? er.code : null\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-eperm.d.ts","sourceRoot":"","sources":["../../src/fix-eperm.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,QAAQ,GAClB,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,MAChC,MAAM,MAAM,KAAG,OAAO,CAAC,IAAI,CAiBjC,CAAA;AAEH,eAAO,MAAM,YAAY,GACtB,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,MAC7B,MAAM,MAAM,KAAG,IAYf,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { errorCode } from './error.js';
|
|
2
|
+
import { chmodSync, promises } from './fs.js';
|
|
3
|
+
import { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent.js';
|
|
4
|
+
const { chmod } = promises;
|
|
5
|
+
export const fixEPERM = (fn) => async (path) => {
|
|
6
|
+
try {
|
|
7
|
+
return void (await ignoreENOENT(fn(path)));
|
|
8
|
+
}
|
|
9
|
+
catch (er) {
|
|
10
|
+
if (errorCode(er) === 'EPERM') {
|
|
11
|
+
if (!(await ignoreENOENT(chmod(path, 0o666).then(() => true), er))) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
return void (await fn(path));
|
|
15
|
+
}
|
|
16
|
+
throw er;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
export const fixEPERMSync = (fn) => (path) => {
|
|
20
|
+
try {
|
|
21
|
+
return void ignoreENOENTSync(() => fn(path));
|
|
22
|
+
}
|
|
23
|
+
catch (er) {
|
|
24
|
+
if (errorCode(er) === 'EPERM') {
|
|
25
|
+
if (!ignoreENOENTSync(() => (chmodSync(path, 0o666), true), er)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
return void fn(path);
|
|
29
|
+
}
|
|
30
|
+
throw er;
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=fix-eperm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fix-eperm.js","sourceRoot":"","sources":["../../src/fix-eperm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,CAAA;AAE1B,MAAM,CAAC,MAAM,QAAQ,GACnB,CAAC,EAAsC,EAAE,EAAE,CAC3C,KAAK,EAAE,IAAY,EAAiB,EAAE;IACpC,IAAI,CAAC;QACH,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC5C,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;YAC9B,IACE,CAAC,CAAC,MAAM,YAAY,CAClB,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EACnC,EAAE,CACH,CAAC,EACF,CAAC;gBACD,OAAM;YACR,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;QAC9B,CAAC;QACD,MAAM,EAAE,CAAA;IACV,CAAC;AACH,CAAC,CAAA;AAEH,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,EAA6B,EAAE,EAAE,CAClC,CAAC,IAAY,EAAQ,EAAE;IACrB,IAAI,CAAC;QACH,OAAO,KAAK,gBAAgB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9C,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;gBAChE,OAAM;YACR,CAAC;YACD,OAAO,KAAK,EAAE,CAAC,IAAI,CAAC,CAAA;QACtB,CAAC;QACD,MAAM,EAAE,CAAA;IACV,CAAC;AACH,CAAC,CAAA","sourcesContent":["import { errorCode } from './error.js'\nimport { chmodSync, promises } from './fs.js'\nimport { ignoreENOENT, ignoreENOENTSync } from './ignore-enoent.js'\nconst { chmod } = promises\n\nexport const fixEPERM =\n (fn: (path: string) => Promise<unknown>) =>\n async (path: string): Promise<void> => {\n try {\n return void (await ignoreENOENT(fn(path)))\n } catch (er) {\n if (errorCode(er) === 'EPERM') {\n if (\n !(await ignoreENOENT(\n chmod(path, 0o666).then(() => true),\n er,\n ))\n ) {\n return\n }\n return void (await fn(path))\n }\n throw er\n }\n }\n\nexport const fixEPERMSync =\n (fn: (path: string) => unknown) =>\n (path: string): void => {\n try {\n return void ignoreENOENTSync(() => fn(path))\n } catch (er) {\n if (errorCode(er) === 'EPERM') {\n if (!ignoreENOENTSync(() => (chmodSync(path, 0o666), true), er)) {\n return\n }\n return void fn(path)\n }\n throw er\n }\n }\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import fs, { Dirent } from 'fs';
|
|
2
|
+
export { chmodSync, mkdirSync, renameSync, rmdirSync, rmSync, statSync, lstatSync, unlinkSync, } from 'fs';
|
|
3
|
+
export declare const readdirSync: (path: fs.PathLike) => Dirent[];
|
|
4
|
+
export declare const promises: {
|
|
5
|
+
chmod: typeof fs.promises.chmod;
|
|
6
|
+
mkdir: typeof fs.promises.mkdir;
|
|
7
|
+
readdir: (path: fs.PathLike) => Promise<fs.Dirent<string>[]>;
|
|
8
|
+
rename: typeof fs.promises.rename;
|
|
9
|
+
rm: typeof fs.promises.rm;
|
|
10
|
+
rmdir: typeof fs.promises.rmdir;
|
|
11
|
+
stat: typeof fs.promises.stat;
|
|
12
|
+
lstat: typeof fs.promises.lstat;
|
|
13
|
+
unlink: typeof fs.promises.unlink;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=fs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.d.ts","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAyB,MAAM,IAAI,CAAA;AAMtD,OAAO,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,IAAI,CAAA;AAEX,eAAO,MAAM,WAAW,GAAI,MAAM,EAAE,CAAC,QAAQ,KAAG,MAAM,EACf,CAAA;AAEvC,eAAO,MAAM,QAAQ;;;oBAGH,EAAE,CAAC,QAAQ;;;;;;;CAQ5B,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { readdirSync as rdSync } from 'fs';
|
|
2
|
+
import fsPromises from 'fs/promises';
|
|
3
|
+
// sync ones just take the sync version from node
|
|
4
|
+
// readdir forces withFileTypes: true
|
|
5
|
+
export { chmodSync, mkdirSync, renameSync, rmdirSync, rmSync, statSync, lstatSync, unlinkSync, } from 'fs';
|
|
6
|
+
export const readdirSync = (path) => rdSync(path, { withFileTypes: true });
|
|
7
|
+
export const promises = {
|
|
8
|
+
chmod: fsPromises.chmod,
|
|
9
|
+
mkdir: fsPromises.mkdir,
|
|
10
|
+
readdir: (path) => fsPromises.readdir(path, { withFileTypes: true }),
|
|
11
|
+
rename: fsPromises.rename,
|
|
12
|
+
rm: fsPromises.rm,
|
|
13
|
+
rmdir: fsPromises.rmdir,
|
|
14
|
+
stat: fsPromises.stat,
|
|
15
|
+
lstat: fsPromises.lstat,
|
|
16
|
+
unlink: fsPromises.unlink,
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=fs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/fs.ts"],"names":[],"mappings":"AAAA,OAAW,EAAU,WAAW,IAAI,MAAM,EAAE,MAAM,IAAI,CAAA;AACtD,OAAO,UAAU,MAAM,aAAa,CAAA;AAEpC,iDAAiD;AACjD,qCAAqC;AAErC,OAAO,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,MAAM,EACN,QAAQ,EACR,SAAS,EACT,UAAU,GACX,MAAM,IAAI,CAAA;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAiB,EAAY,EAAE,CACzD,MAAM,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,KAAK,EAAE,UAAU,CAAC,KAAK;IACvB,KAAK,EAAE,UAAU,CAAC,KAAK;IACvB,OAAO,EAAE,CAAC,IAAiB,EAAE,EAAE,CAC7B,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;IACnD,MAAM,EAAE,UAAU,CAAC,MAAM;IACzB,EAAE,EAAE,UAAU,CAAC,EAAE;IACjB,KAAK,EAAE,UAAU,CAAC,KAAK;IACvB,IAAI,EAAE,UAAU,CAAC,IAAI;IACrB,KAAK,EAAE,UAAU,CAAC,KAAK;IACvB,MAAM,EAAE,UAAU,CAAC,MAAM;CAC1B,CAAA","sourcesContent":["import fs, { Dirent, readdirSync as rdSync } from 'fs'\nimport fsPromises from 'fs/promises'\n\n// sync ones just take the sync version from node\n// readdir forces withFileTypes: true\n\nexport {\n chmodSync,\n mkdirSync,\n renameSync,\n rmdirSync,\n rmSync,\n statSync,\n lstatSync,\n unlinkSync,\n} from 'fs'\n\nexport const readdirSync = (path: fs.PathLike): Dirent[] =>\n rdSync(path, { withFileTypes: true })\n\nexport const promises = {\n chmod: fsPromises.chmod,\n mkdir: fsPromises.mkdir,\n readdir: (path: fs.PathLike) =>\n fsPromises.readdir(path, { withFileTypes: true }),\n rename: fsPromises.rename,\n rm: fsPromises.rm,\n rmdir: fsPromises.rmdir,\n stat: fsPromises.stat,\n lstat: fsPromises.lstat,\n unlink: fsPromises.unlink,\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ignore-enoent.d.ts","sourceRoot":"","sources":["../../src/ignore-enoent.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,GAAU,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,OAAO,sBAMlE,CAAA;AAEJ,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,IAAI,MAAM,CAAC,EAAE,UAAU,OAAO,kBASjE,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { errorCode } from './error.js';
|
|
2
|
+
export const ignoreENOENT = async (p, rethrow) => p.catch(er => {
|
|
3
|
+
if (errorCode(er) === 'ENOENT') {
|
|
4
|
+
return;
|
|
5
|
+
}
|
|
6
|
+
throw rethrow ?? er;
|
|
7
|
+
});
|
|
8
|
+
export const ignoreENOENTSync = (fn, rethrow) => {
|
|
9
|
+
try {
|
|
10
|
+
return fn();
|
|
11
|
+
}
|
|
12
|
+
catch (er) {
|
|
13
|
+
if (errorCode(er) === 'ENOENT') {
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
throw rethrow ?? er;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=ignore-enoent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ignore-enoent.js","sourceRoot":"","sources":["../../src/ignore-enoent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAK,CAAa,EAAE,OAAiB,EAAE,EAAE,CACxE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;IACX,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAM;IACR,CAAC;IACD,MAAM,OAAO,IAAI,EAAE,CAAA;AACrB,CAAC,CAAC,CAAA;AAEJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAI,EAAW,EAAE,OAAiB,EAAE,EAAE;IACpE,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,CAAA;IACb,CAAC;IAAC,OAAO,EAAE,EAAE,CAAC;QACZ,IAAI,SAAS,CAAC,EAAE,CAAC,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAM;QACR,CAAC;QACD,MAAM,OAAO,IAAI,EAAE,CAAA;IACrB,CAAC;AACH,CAAC,CAAA","sourcesContent":["import { errorCode } from './error.js'\n\nexport const ignoreENOENT = async <T>(p: Promise<T>, rethrow?: unknown) =>\n p.catch(er => {\n if (errorCode(er) === 'ENOENT') {\n return\n }\n throw rethrow ?? er\n })\n\nexport const ignoreENOENTSync = <T>(fn: () => T, rethrow?: unknown) => {\n try {\n return fn()\n } catch (er) {\n if (errorCode(er) === 'ENOENT') {\n return\n }\n throw rethrow ?? er\n }\n}\n"]}
|