I would really like to contribute to Dojo2+, but I’m still struggling with getting a local copy of a repo (@dojo/widgets in my case) to be used in my application.
Tried “grunt dist” and “grunt dev” in the repo and got warnings, which were treated as errors (using --force option this could be solved).
No chance to get the local copy installed in my project.
npm install …/path/to/my/copy/
gives errors:
npm install e:/Work/autstat/dojo2/widgets
npm WARN heurigen@1.0.0 No repository field.
npm WARN heurigen@1.0.0 No license field.
npm ERR! path e:\Work\oinkoink\rkassa\web\heurigen.test\node_modules.staging@dojo\widgets-e1276e49\node_modules@csstools\convert-colors
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename ‘e:\Work\oinkoink\rkassa\web\heurigen.test\node_modules.staging@dojo\widgets-e1276e49\node_modules@csstools\convert-colors’ -> ‘e:\Work\oinkoink\rkassa\web\heurigen.test\node_modules.staging@csstools\convert-colors-dd1077c7’
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\thomas\AppData\Roaming\npm-cache_logs\2019-06-03T17_39_24_259Z-debug.log
It’s great to hear that you want to contribute to Dojo!
To use a local copy of a dojo dependency like @dojo/widgets needs the package to be packaged in the same shape as when it is published to npm. To do this you will need to perform a dry run release that creates a tar ball of the package.
Currently @dojo/widgets still uses the grunt commands for these operations, so you would need to run (tweaking the versions as desired):
Thanks, Dylan, this works fine for me. Got it running, can use the modified widgets.
Unfortunately I’m farer away from contributing to Dojo2 than before. I’d like to test the modifications before filing a pull request, but I cannot find any hints on how to do this. How can I run the tests that are run when analyzing a pull request myself?
I cannot even run “grunt dev” without --force:
e:\Work\autstat\dojo2\widgets>grunt dev
Running “clean:typings” (clean) task
Running “ts:dev” (ts) task
Compiling…
Using tsc v2.6.2
node_modules/@dojo/shim/Symbol.d.ts(3,9): error TS2687: All declarations of ‘observable’ must have identical modifiers.
1 non-emit-preventing type warning
Error: tsc return code: 2
Warning: Task “ts:dev” failed. Use --force to continue.
A few of us on the team have tried to reproduce this error but have not been able to reproduce this locally. Perhaps you could pop onto Discord and chat with the team in real-time so we can help track this down?