TODO
Code quality:
✔ Implement `standard` @done(18-11-02 15:53)
✔ Code coverage 100 % @done(18-11-02 15:52)
✔ Tests file naming and test naming conventions @done(18-09-29 09:28)
✔ Windows testing on AppVeyor @done(18-11-13 20:03)
✔ https://conventionalcommits.org @done(18-12-03 22:23)
✔ Use c8 for coverage @done(22-02-01 23:07)
✔ Move to CircleCI because TravisCI is not using p7zip-full v16.x @done(18-10-17 20:35)
✔ CircleCi local test with docker (add circleci to system dev deps) @done(18-10-17 20:36)
- git hooks: standardjs, circleci config validate standard-version
- Cleanup ESM exports
- Find an alternative to david-dm
- https://www.npmjs.com/package/standard#what-you-might-do-if-youre-clever
- rename master branch to main
- Keep support for CommonJS and ESM
Package:
✔ Update all dependencies @done(18-10-17 20:36)
✔ Rewite scripts @done(18-10-17 20:36)
✘ Helper script to optionnaly fetch 7zip bins? @cancelled(18-09-09 19:02)
✘ 7zip-bin as peer dependecy? @cancelled(18-11-13 20:04) See README.md for installation
✔ upload to npm @done(18-12-29 18:26)
Switches:
✔ Implement -bt Show execution time statistics @done(18-12-03 19:51)
✔ Implement -slt Show technical information @done(18-12-03 19:55)
✔ wildcards and raw outside of `toChildProcessArgs()` @done(18-09-04 21:49)
✔ -snc and -ssc @done(18-08-21 22:50)
✔ Default to `-y` @done(18-08-21 22:50)
✔ Update test cases @started(18-08-21 22:51) @done(18-08-23 12:36) @lasted(1d13h45m3s)
✔ Set -bb as default as it is required for the lib to works @done(18-09-11 22:58)
Maintenance:
✔ Proper propagation of errors (both sync and async) @done(18-12-03 22:23)
✔ Upgrade codebase to ES6 @done(18-09-11 22:58)
✔ Spaces in achive name, file name or in switches @done(18-08-23 12:36)
✘ Keep a Promise and callback style interface on top (do not recommand using it) @cancelled(18-12-03 22:23)
✔ Check all issues from GitHub and test them @done(20-02-15 13:30)
✔ fix: dual instance (see test-debug) @done(18-11-13 20:05)
✔ Refactor in dependecy injection style @started(18-11-13 20:05) @done(18-12-02 21:37) @lasted(2w5d1h32m17s)
Features:
✔ Streams? Buffer or Object mode? @done(18-09-09 18:58)
✔ 7z path option @done(18-09-02 19:34)
✘ Exit codes @cancelled(18-12-03 22:23)
✘ TypeScript support @cancelled(18-12-29 18:26)
✘ Babel/ES5 etc support @cancelled(18-12-29 18:26)
✔ Close/end SevenZipStream @done(18-12-02 12:31)
✔ Full-named switches for cleaner API @done(18-11-04 19:54)
✔ Stream methods returns stream @done(18-10-17 20:35)
✔ Esier to use progress @done(18-12-02 12:31)
✔ Add support for `-slt` Show Technical Infos @started(21-05-19 19:37) @done(21-07-11 19:20) @lasted(7w3d23h43m21s)
Documentation:
✔ Status (TU+R. and others?) as plain text @done(18-12-04 22:50)
✔ Usage for wildcard/raw/bin input ($ instead of _ preffix) @done(18-12-04 22:50)
✔ Usage for repeating switches @done(18-12-04 22:50)
✔ Usage for -r (Recurse subdirectories) switch @done(18-12-04 22:50)
✔ Struct types and API definition @done(18-12-04 22:50)
✔ stream.info usage with Map.get() @done(18-12-04 22:50)
✔ on('error') err.stderr usage @done(18-12-04 22:50)
✔ -bb switch @done(18-09-11 22:54)
✔ $defer @done(18-12-04 22:50)
✔ attch a child process $childProcess @done(18-12-04 22:50)
✔ add(archive, [source1, source2]) usage @done(18-12-04 22:50)
✔ `-bd` Disable progress indicator is like using a different log level and incompatible with this implementation @done(18-12-04 22:50)
✔ No benchmark command: It will output based on the system that it is on, "system-static" @done(18-12-04 22:50)
✔ No Show information about supported formats command: It will output based on the system that it is on, "system-static" @done(18-12-04 22:50)
✘ Hack to use delete() command (delete is a JS reserved word) @cancelled(18-12-04 22:51)
✔ use `$cherryPick` as name for clarity @done(18-12-04 22:51)
✔ list and rename doesn't output progress percentage (upstream behaviour) @done(18-12-04 22:51)
✔ Only support recent versions of 7z @done(18-12-04 22:51)
✘ $legacy support @cancelled(20-02-15 13:30)
✘ `--` switch when file name starts with `-` @cancelled(18-12-04 22:51)
✘ `-an` (Disable parsing of archive_name) switch @cancelled(18-12-04 22:51)