###################################################### ADBKIT 2.11.3 ######################################################
---------------------------------------------------------------------------------------------------------------------------
$ nvm use 20.18.0
$ node
> adbkit = require('@devicefarmer/adbkit')
> adb = adbkit.createClient({host: '127.0.0.1', port: 5037})
> adb.readdir('FA6A90303673', '/').then(function(files) {console.log(files)})
> [
Entry {
name: 'product',
mode: 41380,
size: 15,
mtime: 2009-01-01T00:00:00.000Z
},
Entry {
name: 'res',
mode: 16877,
size: 4096,
mtime: 2009-01-01T00:00:00.000Z
},
...
]
RESULT => OK, "mtime" field is well present
---------------------------------------------------------------------------------------------------------------------------
$ nvm use 22.11.0
$ node
> adbkit = require('@devicefarmer/adbkit')
> adb = adbkit.createClient({host: '127.0.0.1', port: 5037})
> adb.readdir('FA6A90303673', '/').then(function(files) {console.log(files)})
> [
Entry { name: 'product', mode: 41380, size: 15 },
Entry { name: 'res', mode: 16877, size: 4096 },
...
]
RESULT => KO, "mtime" field is not present but no error raised
###################################################### ADBKIT 3.3.6 #######################################################
---------------------------------------------------------------------------------------------------------------------------
$ nvm use 20.18.0
$ node
> adbkit = require('@devicefarmer/adbkit')
> adb = adbkit.Adb.createClient({host: '127.0.0.1', port: 5037})
> device = adb.getDevice('FA6A90303673')
> device.readdir('/').then(function(res) {console.log('res:', res)}).catch(function(error) {console.log('error:', error)})
> res: [
Entry {
dev: undefined,
mode: 41380,
nlink: undefined,
uid: undefined,
gid: undefined,
rdev: undefined,
blksize: undefined,
ino: undefined,
size: 15,
blocks: undefined,
atimeMs: undefined,
mtimeMs: undefined,
ctimeMs: undefined,
birthtimeMs: undefined,
atime: Invalid Date,
mtime: 2009-01-01T00:00:00.000Z,
ctime: Invalid Date,
birthtime: Invalid Date,
sizeBig: 15n,
name: 'product'
},
Entry {
dev: undefined,
mode: 16877,
nlink: undefined,
uid: undefined,
gid: undefined,
rdev: undefined,
blksize: undefined,
ino: undefined,
size: 4096,
blocks: undefined,
atimeMs: undefined,
mtimeMs: undefined,
ctimeMs: undefined,
birthtimeMs: undefined,
atime: Invalid Date,
mtime: 2009-01-01T00:00:00.000Z,
ctime: Invalid Date,
birthtime: Invalid Date,
sizeBig: 4096n,
name: 'res'
},
...
]
RESULTAT => OK, "mtime" field is well present
---------------------------------------------------------------------------------------------------------------------------
$ nvm use 22.11.0
$ node --trace-deprecation
> adbkit = require('@devicefarmer/adbkit')
> adb = adbkit.Adb.createClient({host: '127.0.0.1', port: 5037})
> device = adb.getDevice('FA6A90303673')
> device.readdir('/').then(function(res) {console.log('res:', res)}).catch(function(error) {console.log('error:', error)})
> res: [
Entry {
dev: undefined,
mode: 41380,
nlink: undefined,
uid: undefined,
gid: undefined,
rdev: undefined,
blksize: undefined,
ino: undefined,
size: 15,
blocks: undefined,
atimeMs: undefined,
mtimeMs: undefined,
ctimeMs: undefined,
birthtimeMs: undefined,
sizeBig: 15n,
name: 'product'
},
Entry {
dev: undefined,
mode: 16877,
nlink: undefined,
uid: undefined,
gid: undefined,
rdev: undefined,
blksize: undefined,
ino: undefined,
size: 4096,
blocks: undefined,
atimeMs: undefined,
mtimeMs: undefined,
ctimeMs: undefined,
birthtimeMs: undefined,
sizeBig: 4096n,
name: 'res'
},
...
]
(node:3796) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.
at new Stats (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/dist/src/adb/sync/stats.js:29:9)
at new Entry (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/dist/src/adb/sync/entry.js:8:9)
at /home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/dist/src/adb/sync.js:122:48
at bound (node:domain:433:15)
at runBound (node:domain:444:12)
at tryCatcher (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/promise.js:547:31)
at Promise._settlePromise (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/promise.js:604:18)
at Promise._settlePromise0 (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/promise.js:649:10)
at Promise._settlePromises (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/promise.js:729:18)
at _drainQueueStep (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/async.js:93:12)
at _drainQueue (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/async.js:86:9)
at Async._drainQueues (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/async.js:102:5)
at Async.drainQueues (/home/debian/GITHUB/DENIS99999/stf/node_modules/@devicefarmer/adbkit/node_modules/bluebird/js/release/async.js:15:14)
at process.processImmediate (node:internal/timers:491:21)
at process.topLevelDomainCallback (node:domain:161:15)
RESULT => KO, "mtime" field is not present + DeprecationWarning: fs.Stats constructor is deprecated
I haven't done full testing of
adbkitusing NodeJS version 22.11.3 but there are probably other similar issues, is it possible to quickly update theadbkitcode to comply with the latest versions of NodeJS in order to allow applications that useadbkit(e.g. STF, ...) to work correctly?Thanks.