JavaScript Action: Deploying a team server package causes an error

0
Hello, In my application, I have added an npm package called node-forge. This enables me to use a package that doesn't come out of the box with Mendix. This works perfectly fine when I run the application in local and also works perfectly when I create a deployment package locally and then upload it to my environments in the cloud. However, if I commit my work and create a package via the team server on the Mendix cloud, I get an error.   ModuleNotFoundError: Module not found: Error: Can't resolve 'node-forge' in 'C:\Users\KGhartey\AppData\Local\Temp\na2z2d1z.o4x\javascriptsource\servicingportal\actions'     at factory.create (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\webpack\lib\Compilation.js:925:10)     at factory (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\webpack\lib\NormalModuleFactory.js:401:22)     at resolver (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\webpack\lib\NormalModuleFactory.js:130:21)     at asyncLib.parallel (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\webpack\lib\NormalModuleFactory.js:224:22)     at C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\neo-async\async.js:2830:7     at C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\neo-async\async.js:6877:13     at normalResolver.resolve (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\webpack\lib\NormalModuleFactory.js:214:25)     at doResolve (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\Resolver.js:213:14)     at hook.callAsync (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\Resolver.js:285:5)     at _fn0 (eval at create (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:15:1)     at resolver.doResolve (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\UnsafeCachePlugin.js:44:7)     at hook.callAsync (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\Resolver.js:285:5)     at _fn0 (eval at create (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:15:1)     at hook.callAsync (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\Resolver.js:285:5)     at _fn0 (eval at create (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:27:1)     at resolver.doResolve (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\DescriptionFilePlugin.js:67:43)     at hook.callAsync (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\Resolver.js:285:5)     at _fn41 (eval at create (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:28:1)     at resolver.doResolve (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\ModuleKindPlugin.js:30:40)     at hook.callAsync (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\Resolver.js:285:5)     at _fn0 (eval at create (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:15:1)     at hook.callAsync (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\Resolver.js:285:5)     at _fn0 (eval at create (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:15:1)     at args (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\forEachBail.js:30:14)     at fs.stat (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\ModulesInHierachicDirectoriesPlugin.js:56:16)     at process.nextTick (C:\Program Files\Mendix\8.4.1.63369\modeler\tools\node\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:85:15)     at process._tickCallback (internal/process/next_tick.js:61:11) resolve 'node-forge' in 'C:\Users\KGhartey\AppData\Local\Temp\na2z2d1z.o4x\javascriptsource\servicingportal\actions'   Parsed request is a module   using description file: C:\Users\KGhartey\AppData\Local\Temp\na2z2d1z.o4x\package.json (relative path: ./javascriptsource/servicingportal/actions)     Field 'browser' doesn't contain a valid alias configuration     resolve as module       C:\Users\KGhartey\AppData\Local\Temp\na2z2d1z.o4x\javascriptsource\servicingportal\actions\node_modules doesn't exist or is not a directory       C:\Users\KGhartey\AppData\Local\Temp\na2z2d1z.o4x\javascriptsource\servicingportal\node_modules doesn't exist or is not a directory       C:\Users\KGhartey\AppData\Local\Temp\na2z2d1z.o4x\javascriptsource\node_modules doesn't exist or is not a directory       C:\Users\KGhartey\AppData\Local\Temp\na2z2d1z.o4x\node_modules doesn't exist or is not a directory       C:\Users\KGhartey\AppData\Local\Temp\node_modules doesn't exist or is not a directory       C:\Users\KGhartey\AppData\Local\node_modules doesn't exist or is not a directory       C:\Users\KGhartey\AppData\node_modules doesn't exist or is not a directory       C:\Users\KGhartey\node_modules doesn't exist or is not a directory       C:\Users\node_modules doesn't exist or is not a directory       C:\node_modules doesn't exist or is not a directory
asked
1 answers
0

Hi Kofi,

At the moment M mx8.6 we ignore wen committing to the team server all node_modules folders in a project, this makes hard to use dependencies. When installing in the javascriptactions folder it does work locally, but not for others if they check out the project. This will be possible in the 8.6 release. scheduled for beginning next month.

For now you could move the dependencies out of the node_modules folder and use relative paths of the import. Or use a bundler (like webpack, warning not an east task) or use the manual build process as you describe.

Cheers, Andries

 

answered