我跑npm install
從my sample project's根文件夾中package.json
使用腳本來構建它。最佳實踐@> = 4
構建需要在prepublish
腳本幾個transpilation目前的步驟,但NPM版本4只顯示一個警告,即重大更改快到了,導致我相信新prepare
生成事件的腳本是更長遠的證明。
C:\code\antlr4ts-json>npm install
npm WARN prepublish-on-install As of [email protected], `prepublish` scripts will run only for `npm publish`.
npm WARN prepublish-on-install (In [email protected] and previous versions, it also runs for `npm install`.)
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.
...
不幸的是,簡單地從prepublish
到prepare
休息向後兼容移動腳本:如果有人使用[email protected]
運行npm install
,在prepare
構建步驟會被忽略。
升級我的構建時腳本的最佳做法是什麼?理想情況下,我想更新我的package.json
使得npm install
作品任何NPM @> = 3,但是可替換地產生指示一個明確的錯誤信息NPM @> = 4在需要時npm install
使用運行在npm @ 3將是完全可以接受的。
Bakground:我試過包括
"engines": { "npm": ">=4.0.0" },
感謝@toomuchdesign(及其他),我明白了爲什麼這並不做我想做的; engines
只在我的包安裝時檢查作爲依賴關係,而不是某人從源建立它。這就說得通了。
我跟蹤了此計劃更改的背景,降至npm issue #10074,這解釋了爲什麼需要重大更改。不過,我仍然不清楚如何更好地處理過渡。
我已經更新了這個問題,這樣可以很清楚我在尋找最好的做法在這裏。我還更新了它,指向一個更簡單的示例項目https://github.com/BurtHarris/antlr4ts-json –
更正了示例項目URL:https://github.com/BurtHarris/antlr4ts-json –
注意:I現在已經將我的解決方案投入到示例項目中。 –