<html><head><style>body{font-family:Helvetica,Arial;font-size:13px}</style></head><body style="word-wrap:break-word;line-break:after-white-space"><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Hi Gio</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Thanks for looking into this. I don’t recall any specific need to have all of these run on install and before publish. I believe, at least originally, it was just because that’s how NPM worked at the time. That is, there was only the prepublish step and it ran at both times. With the the build artifacts being generated before publishing, anyone installing a release from NPM should really be getting everything they need, and if not, we should probably fix up the scripts to provide it. However, installing directly from GitHub, for instance, wouldn’t. However, I’d recommend that someone just use our dev releases or run the necessary build steps manually for those cases.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">+1 for renaming.</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto"><br></div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Thanks</div><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px;color:rgba(0,0,0,1.0);margin:0px;line-height:auto">Justin</div> <br> <div id="bloop_sign_1532604152732756992" class="bloop_sign"></div> <br><p class="airmail_on">On July 25, 2018 at 6:08:34 PM, Tirloni, Giovanni (<a href="mailto:gtirloni@ocadu.ca">gtirloni@ocadu.ca</a>) wrote:</p> <blockquote type="cite" class="clean_bq"><span><div><div></div><div>Hi,
<br>
<br>  This is a change [0] to conform to changes in npm [1] but I wanted to share it more widely in case anyone can see any downsides and/or is relying on this behavior.
<br>
<br>  In summary, `prepublish` used to run before `npm publish` and `npm install`. npm has introduced `prepublishOnly` so it only runs, well, before `npm publish` like the name implies.
<br>
<br>  Our `prepublish` step is currently set to run `npm run buildDists && npm run buildStylus` which effectively means we're running these Grunt tasks at `npm install` time:
<br>
<br>* buildDists
<br>** clean
<br>** lint
<br>** distributions
<br>** cleanForDist
<br>** verifyDistJS
<br>** verifyDistCSS
<br>
<br>* buildStylus
<br>** clean:stylus
<br>** stylus:compile
<br>
<br>  Besides shaving 1-3min from the `npm install` step, as it's currently specified, would mean the linter is not running during `npm install` and CI can run it as a separate step. Today, the "build" stage is CI fails hard if there are linting issues.
<br>
<br>  Do you see need to run all these steps during `npm install`? If so, would it be okay to rename `prepublish` to `prepublishOnly` and add a `preinstall` script for the steps you think are necessary during `npm install`? If not, the PR already contemplates the simplest case (just renaming).
<br>
<br>0 - <a href="https://github.com/fluid-project/infusion/pull/916">https://github.com/fluid-project/infusion/pull/916</a>
<br>1 - <a href="https://docs.npmjs.com/misc/scripts#deprecation-note">https://docs.npmjs.com/misc/scripts#deprecation-note</a>
<br>
<br>Thank you,
<br>Giovanni
<br>_______________________________________________________
<br>fluid-work mailing list - <a href="mailto:fluid-work@lists.idrc.ocad.ca">fluid-work@lists.idrc.ocad.ca</a>
<br>To unsubscribe, change settings or access archives,
<br>see <a href="https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work">https://lists.idrc.ocad.ca/mailman/listinfo/fluid-work</a>
<br></div></div></span></blockquote></body></html>