Open
Description
I understand that this repository was created almost 10 years ago, and the Apigee Team isn't really promoting Apigee Edge to new customers. However, there are many folks who are still on the Apigee Edge platform and don't have the resources to migrate into Apigee X yet. I really like this project leverages the Apigee Edge APIs to accomplish many operations and would love to contribute to modernizing the code on this repository. If there are no ongoing efforts in that direction and the owners / maintainers of this repository are not be opposed, I have the following items on my mind:
- Use ECMAScript modules syntax instead of CommonJS modules
- Replace all instances of older JavaScript syntax with their newer counterparts - like:
- Use
const
andlet
instead ofvar
. - Use Arrow Functions instead of traditional function expressions.
- Use the new
node:
prefix when requiring / importing modules built into Node.js - like:node:fs
,node:path
,node:util
, etc. - Use
async
/await
instead of Promises / callback APIs. - etc.
- Use
- Replace the outdates / unmaintained 3rd party packages with contemporary solutions - preferably techniques inbuilt into the newer versions of Node.js. Like:
- Replace the argument parsing techniques using the now seemingly unmaintained
cli-table
package with the inbuilt Argument Parsing utility - that introduced in Node.js v18.3.0 and was made stable in Node.js 20.0.0 - Replace the
postman-request
package with thefetch
module inbuilt in Node.js - introduced in Node.js v17.5.0, and was made stable in Node.js 21.0.0 - Replace the
mocha
package for Unit Testing with the inbuilt Test Runner module - that was introduced in Node.js v18.0.0, and was made stable in Node.js 20.0.0) - Replace the
fs-extra
package with the inbuilt Recursive File System operations. For example,fs.copy()
can be replaced withfs.cp(src, dest, { recursive: true })
- etc.
- Replace the argument parsing techniques using the now seemingly unmaintained
Is there any appetite for such changes?
If so, I would be happy to contribute to this repository.
Metadata
Metadata
Assignees
Labels
No labels