0.0.5 • Published 7 years ago
Share package npm_prepbulish_migration_test https://docs.npmjs.com/misc/scripts#prepublish-and-prepare
You can find executed result in https://travis-ci.org/ndxbn/npm_prepbulish_migration_test .
"step 4" and "step 5" means https://github.com/npm/npm/issues/10074 one.
Result (command separated) npm install npm script stage \ version 2.14.3 2.15.11 3.8.6 3.10.10 4.2.0 5.6.0 step 4 step 5 prepublish main 8 8 8 8 9 7 No No prepublishOnly main No No No No No No No No publis main No No No No No No No No postpublis main No No No No No No No No preinstall main 1 1 5 2 3 1 1 1 install main 6 6 6 6 7 5 5 5 postinstall main 7 7 7 7 8 6 6 6 prepack main No No No No No No No No pack main No No No No No No No No postpack main No No No No No No No No prepare main No No No No 10 8 7 7 (is_private) main No No No No No No No No === == == == == == == == == prepublish sub 2 2 1 1 1 No No No prepublishOnly sub No No No No No No No No publis sub No No No No No No No No postpublis sub No No No No No No No No preinstall sub 3 3 2 3 4 2 2 2 install sub 4 4 3 4 5 3 3 3 postinstall sub 5 5 4 5 6 4 4 4 prepack sub No No No No No No No No pack sub No No No No No No No No postpack sub No No No No No No No No prepare sub No No No No 2 No No No
npm install foo npm script stage \ version 2.14.3 2.15.11 3.8.6 3.10.10 4.2.0 5.6.0 step 4 step 5 prepublish main No No No No No No No No prepublishOnly main No No No No No No No No publis main No No No No No No No No postpublis main No No No No No No No No preinstall main No No No No No No No No install main No No No No No No No No postinstall main No No No No No No No No prepack main No No No No No No No No pack main No No No No No No No No postpack main No No No No No No No No prepare main No No No No No No No No (is_private) main No No No No No No No No === == == == == == == == == prepublish sub 1 1 1 1 1 No No No prepublishOnly sub No No No No No No No No publis sub No No No No No No No No postpublis sub No No No No No No No No preinstall sub 2 2 2 2 3 1 1 1 install sub 3 3 3 3 4 2 2 2 postinstall sub 4 4 4 4 5 3 3 3 prepack sub No No No No No No No No pack sub No No No No No No No No postpack sub No No No No No No No No prepare sub No No No No 2 No No No
npm publish npm script stage \ version 2.14.3 2.15.11 3.8.6 3.10.10 4.2.0 5.6.0 step 4 step 5 prepublish main 1 1 1 1 1 1 3 2 prepublishOnly main No No No No 3 3 2 No (deleted) publis main ??? ??? ??? ??? ??? ??? ??? ??? postpublis main ??? ??? ??? ??? ??? ??? ??? ??? preinstall main No No No No No No No No install main No No No No No No No No postinstall main No No No No No No No No prepack main ??? ??? ??? ??? No 4 4 3 pack main ??? ??? ??? ??? No No! ??? ??? postpack main ??? ??? ??? ??? No 5 5 4 prepare main No No No No 2 2 1 1 (is_private) main 2 2 2 2 4 6 6 5 === == == == == == == == == prepublish sub No No No No No No No No prepublishOnly sub No No No No No No No No publis sub No No No No No No No No postpublis sub No No No No No No No No preinstall sub No No No No No No No No install sub No No No No No No No No postinstall sub No No No No No No No No prepack sub No No No No No No No No pack sub No No No No No No No No postpack sub No No No No No No No No prepare sub No No No No No No No No
In a year or so, make a semver-major bump to npm and make prepublish's behavior match prepublishOnly. prepublish
should run after prepare
.prepublish
and prepublishOnly
Should Not Depends. If don't depends, they can be swapped.npm pack prepack
and postpack
was implemented at v5.0.0 .
npm script stage \ version 2.14.3 2.15.11 3.8.6 3.10.10 4.2.0 5.6.0 step 4 step 5 prepublish main 1 1 1 1 1 1 No No prepublishOnly main No No No No No! No! No No publis main No No No No No No No No postpublis main No No No No No No No No preinstall main No No No No No No No No install main No No No No No No No No postinstall main No No No No No No No No prepack main No No No No No! 3 2 2 pack main No No No No No! No! ??? ??? postpack main No No No No No! 4 3 3 prepare main No No No No 2 2 1 1 (is_private) main No No No No No No No No === == == == == == == == == prepublish sub No No No No No No No No prepublishOnly sub No No No No No No No No publis sub No No No No No No No No postpublis sub No No No No No No No No preinstall sub No No No No No No No No install sub No No No No No No No No postinstall sub No No No No No No No No prepack sub No No No No No No No No pack sub No No No No No No No No postpack sub No No No No No No No No prepare sub No No No No No No No No
Result (version separated) npm v5.6.0 (Node.js v8.9.4 - v9.5.0) npm WARN prepublish-on-install As of npm@5, prepublish
scripts are deprecated.
npm WARN prepublish-on-install Use prepare
for build steps and prepublishOnly
for upload-only.
npm WARN prepublish-on-install See the deprecation note in npm help scripts
for more information.
npm script stage \ command install install foo publish pack prepublish main 7 No 1 1 prepublishOnly main No No 3 No! publis main No No ??? No postpublis main No No ??? No preinstall main 1 No No No install main 5 No No No postinstall main 6 No No No prepack main No No 4 3 pack main No No No! No! postpack main No No 5 4 prepare main 8 No 2 2 (is_private) main No No 6 No === == == == == prepublish sub No No No No prepublishOnly sub No No No No publis sub No No No No postpublis sub No No No No preinstall sub 2 1 No No install sub 3 2 No No postinstall sub 4 3 No No prepack sub No No No No pack sub No No No No postpack sub No No No No prepare sub No No No No
npm 4.2.0 (Node.js v7.10.1) npm WARN prepublish-on-install As of npm@5, prepublish
scripts will run only for npm publish
.
npm WARN prepublish-on-install (In npm@4 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.
npm script stage \ command install install foo publish pack prepublish main 9 No 1 1 prepublishOnly main No No 3 No! publis main No No ??? No postpublis main No No ??? No preinstall main 3 No No No install main 7 No No No postinstall main 8 No No No prepack main No No No No! pack main No No No No! postpack main No No No No! prepare main 10 No 2 2 (is_private) main No No 4 No === == == == == prepublish sub 1 1 No No prepublishOnly sub No No No No publis sub No No No No postpublis sub No No No No preinstall sub 4 3 No No install sub 5 4 No No postinstall sub 6 5 No No prepack sub No No No No pack sub No No No No postpack sub No No No No prepare sub 2 2 No No
npm 3.10.10 (Node.js v6.12.3) npm script stage \ command install install foo publish pack prepublish main 8 No 1 1 prepublishOnly main No No No No publis main No No ??? No postpublis main No No ??? No preinstall main 2 No No No install main 6 No No No postinstall main 7 No No No prepack main No No ??? No! pack main No No ??? No! postpack main No No ??? No! prepare main No No No No (is_private) main No No 2 No === == == == == prepublish sub 1 1 No No prepublishOnly sub No No No No publis sub No No No No postpublis sub No No No No preinstall sub 3 2 No No install sub 4 3 No No postinstall sub 5 4 No No prepack sub No No No No pack sub No No No No postpack sub No No No No prepare sub No No No No
npm 3.8.6 (Node.js v5.12.0) npm script stage \ command install install foo publish pack prepublish main 8 No 1 1 prepublishOnly main No No No No publis main No No ??? No postpublis main No No ??? No preinstall main 5 No No No install main 6 No No No postinstall main 7 No No No prepack main No No ??? No! pack main No No ??? No! postpack main No No ??? No! prepare main No No No No (is_private) main No No 2 No === == == == == prepublish sub 1 1 No No prepublishOnly sub No No No No publis sub No No No No postpublis sub No No No No preinstall sub 2 2 No No install sub 3 3 No No postinstall sub 4 4 No No prepack sub No No No No pack sub No No No No postpack sub No No No No prepare sub No No No No
npm 2.15.11 (Node.js v4.8.7) npm script stage \ command install install foo publish pack prepublish main 8 No 1 1 prepublishOnly main No No No No publis main No No ??? No postpublis main No No ??? No preinstall main 1 No No No install main 6 No No No postinstall main 7 No No No prepack main No No ??? No! pack main No No ??? No! postpack main No No ??? No! prepare main No No No No (is_private) main No No 2 No === == == == == prepublish sub 2 1 No No prepublishOnly sub No No No No publis sub No No No No postpublis sub No No No No preinstall sub 3 2 No No install sub 4 3 No No postinstall sub 5 4 No No prepack sub No No No No pack sub No No No No postpack sub No No No No prepare sub No No No No
npm 2.14.3 (iojs) npm script stage \ command install install foo publish pack prepublish main 8 No 1 1 prepublishOnly main No No No No publis main No No ??? No postpublis main No No ??? No preinstall main 1 No No No install main 6 No No No postinstall main 7 No No No prepack main No No ??? No! pack main No No ??? No! postpack main No No ??? No! prepare main No No No No (is_private) main No No 2 No === == == == == prepublish sub 2 1 No No prepublishOnly sub No No No No publis sub No No No No postpublis sub No No No No preinstall sub 3 2 No No install sub 4 3 No No postinstall sub 5 4 No No prepack sub No No No No pack sub No No No No postpack sub No No No No prepare sub No No No No
template npm X.X.X (Node.js vX.X.X) npm script stage \ command install install foo publish pack prepublish main No No No No prepublishOnly main No No No No publis main No No ??? No postpublis main No No ??? No preinstall main No No No No install main No No No No postinstall main No No No No prepack main No No No No pack main No No No No postpack main No No No No prepare main No No No No (is_private) main No No No No === == == == == prepublish sub No No No No prepublishOnly sub No No No No publis sub No No No No postpublis sub No No No No preinstall sub No No No No install sub No No No No postinstall sub No No No No prepack sub No No No No pack sub No No No No postpack sub No No No No prepare sub No No No No