如何判断NPM包是否支持ES5或ES6类型的模块?
这是个很难回答的问题,因为它需要解析JS--一个众所周知的难题。
如果你能接受一个大多数时候都能给出正确答案的解决方案--我有一个构建系统,它可以在一个混合的CommonJSESM环境中用Babel转置ESM,并自动发现依赖关系。 我如何找出一个给定的文件是否是ESM,是这样的。
egrep '^\s*import\s+.*\sfrom\s+' "$filename"
有明显的情况下,这将假触发,但它已经为我提供了良好的服务。