1
A
回答
0
我不確定這正是你在找什麼,但there is an existing package.json
property called "engines"包開發人員可以指定他們需要什麼版本。不太難使用glob
和semver
包通過所有的package.json文件,以尋找與「引擎」的要求,並編譯成一個對象:
{
[version1]: [{ packageName, currentlySupported }, { ... }],
[version2]: [...],
...
}
下面是一個腳本,將創建一個基本的例子爲你的對象:
npm install glob semver
checkversions.js:
const glob = require('glob');
const path = require('path');
const semver = require('semver');
const currentVersion = process.version;
const versions = {};
glob('node_modules/*/package.json', (err, files) => {
files.forEach((file) => {
const pkg = require(path.resolve(__dirname, file));
// only check add package if it specifies "engines"
if (pkg.engines && pkg.engines.node) {
const reqdVersion = pkg.engines.node.replace(/\s+/g, '');
// assume you are using a supported version
let currentlySupported = true;
// check if current node version satisfies package requirements
if (!semver.satisfies(currentVersion, reqdVersion)) {
currentlySupported = false;
}
if (!Array.isArray(versions[reqdVersion])) {
versions[reqdVersion] = [];
}
versions[reqdVersion].push({
package: file.replace(/node_modules\/(.*)\/package.json/, '$1'),
currentlySupported,
});
}
});
console.log(versions);
});
運行:
node checkversions.js
相關問題
- 1. CrystalReportViewer支持哪種版本的Crystal Reports?
- 2. Trigger.io支持哪種版本的android/iOs?
- 3. Amazon RDS支持哪種版本的MySQL
- 4. Java支持哪種ZIP版本(1.6或其他版本)
- 5. 支持多種xsd版本
- 6. 支持多種版本的android?
- 7. WP 8支持哪種版本的SQL Server CE?
- 8. Visual Studio 2010支持哪種版本的Silverlight?開箱即用?
- 9. Azure存儲模擬器4.3支持哪種版本的WindowsAzure.Storage?
- 10. .NET平臺支持哪種版本的Unicode,以及哪種版本的Windows與字符類相關?
- 11. 我該使用哪個recyclerview版本支持庫25
- 12. ZK v6.5.8支持哪個版本的JasperReports?
- 13. 哪個版本的Eclipse支持Java 8?
- 14. WebLogic 11g支持哪些版本的JDK7
- 15. 哪個版本的ipad OS支持ckeditor ...?
- 16. Node.js支持哪些版本的Javascript
- 17. HTC Wildfire支持哪些版本的OpenGL?
- 18. Sqoop的哪個版本支持Hadoop 1.0.4?
- 19. 哪個版本的Jruby支持IPv6?
- 20. 哪個版本的Chrome支持ORTC?
- 21. 哪個版本的MySQL支持CUBE?
- 22. nHibernate支持哪些版本的firebird?
- 23. icpc 13.01支持哪個版本的openMP?
- 24. 哪個版本的Dreamweaver支持HTML 5?
- 25. Nokogiri支持哪個版本的xpath?
- 26. Javascript庫版本支持
- 27. 哪個版本的藍牙支持Android Froyo支持
- 28. Erlang支持哪種數據庫(SQL)?
- 29. Infinispan提供哪種數據庫支持?
- 30. 哪些TYPO3版本支持哪些PHP版本?
我不認爲它存在,通常你可以使用package.json來鎖定節點引擎,而不用擔心不同版本支持什麼。恕我直言,選擇最近的LTS版本或使用polyfills如果發現丟失的東西。 – Gntem
從幫助中心引用:***要求我們推薦或查找書籍,工具,軟件庫,教程或其他非本地資源的問題對於堆棧溢出而言是無關緊要的,因爲它們傾向於吸引自以爲是的答案和垃圾郵件。相反,請描述問題以及迄今爲止解決問題的方法。*** – jfriend00
我構建了一個庫,並希望優化它以在更廣泛的環境中工作。我在網上搜索資源,並沒有找到任何,所以我問了這個問題。 – kequc