Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error due to node_modules and too many sub-directories #3

Open
jlahijani opened this issue Aug 3, 2015 · 3 comments
Open

Error due to node_modules and too many sub-directories #3

jlahijani opened this issue Aug 3, 2015 · 3 comments

Comments

@jlahijani
Copy link
Sponsor

I have a Gulp-based frontend workflow, and as a result, a "node_modules" folder appears in my /site/templates/ folder, which is normal.

Some Node modules have many many nested subdirectories, which sometimes hits a limitation on Windows. When trying to Export using ProcessMigrator, I get an error which suggests that may be the issue:

 ProcessWire: ProcessMigrator: RecursiveDirectoryIterator::__construct(C:/Users/jlahijani/Projects/mysite.com/site/templates\node_modules\gulp-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-build\node_modules\decompress\node_modules\buffer-to-vinyl\node_modules\uuid\benchmark,C:/Users/jlahijani/Projects/mysite.com/site/templates\node_modules\gulp-imagemin\node_modules\imagemin\node_modules\imagemin-gifsicle\node_modules\gifsicle\node_modules\bin-build\node_modules\decompress\node_modules\buffer-to-vinyl\node_modules\uuid\benchmark): The system cannot find the path specified. (code: 3)
DEBUG MODE BACKTRACE ($config->debug == true):
#0 [internal function]: RecursiveDirectoryIterator->__construct('C:/Users/jlahij...', 4096)
#1 C:\Users\jlahijani\Projects\mysite.com\site\modules\ProcessMigrator\ProcessMigrator.module(280): RecursiveDirectoryIterator->getChildren()
#2 C:\Users\jlahijani\Projects\mysite.com\site\modules\ProcessMigrator\ProcessMigrator.module(120): ProcessMigrator->buildExportForm2()
#3 [internal function]: ProcessMigrator->___executeExport()
#4 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(397): call_user_func_array(Array, Array)
#5 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(332): Wire->runHooks('executeExport', Array)
#6 C:\Users\jlahijani\Projects\mysite.com\wire\core\ProcessController.php(236): Wire->__call('executeExport', Array)
#7 C:\Users\jlahijani\Projects\mysite.com\wire\core\ProcessController.php(236): ProcessMigrator->executeExport()
#8 [internal function]: ProcessController->___execute()
#9 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(397): call_user_func_array(Array, Array)
#10 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(332): Wire->runHooks('execute', Array)
#11 C:\Users\jlahijani\Projects\mysite.com\wire\core\admin.php(93): Wire->__call('execute', Array)
#12 C:\Users\jlahijani\Projects\mysite.com\wire\core\admin.php(93): ProcessController->execute()
#13 C:\Users\jlahijani\Projects\mysite.com\wire\modules\AdminTheme\AdminThemeDefault\controller.php(13): require('C:\\Users\\jlahij...')
#14 C:\Users\jlahijani\Projects\mysite.com\site\templates\admin.php(15): require('C:\\Users\\jlahij...')
#15 C:\Users\jlahijani\Projects\mysite.com\wire\core\TemplateFile.php(182): require('C:\\Users\\jlahij...')
#16 [internal function]: TemplateFile->___render()
#17 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(397): call_user_func_array(Array, Array)
#18 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(332): Wire->runHooks('render', Array)
#19 C:\Users\jlahijani\Projects\mysite.com\wire\modules\PageRender.module(422): Wire->__call('render', Array)
#20 C:\Users\jlahijani\Projects\mysite.com\wire\modules\PageRender.module(422): TemplateFile->render()
#21 [internal function]: PageRender->___renderPage(Object(HookEvent))
#22 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(397): call_user_func_array(Array, Array)
#23 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(332): Wire->runHooks('renderPage', Array)
#24 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(453): Wire->__call('renderPage', Array)
#25 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(453): PageRender->renderPage(Object(HookEvent))
#26 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(332): Wire->runHooks('render', Array)
#27 C:\Users\jlahijani\Projects\mysite.com\wire\modules\Process\ProcessPageView.module(187): Wire->__call('render', Array)
#28 C:\Users\jlahijani\Projects\mysite.com\wire\modules\Process\ProcessPageView.module(187): Page->render()
#29 [internal function]: ProcessPageView->___execute(true)
#30 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(397): call_user_func_array(Array, Array)
#31 C:\Users\jlahijani\Projects\mysite.com\wire\core\Wire.php(332): Wire->runHooks('execute', Array)
#32 C:\Users\jlahijani\Projects\mysite.com\index.php(241): Wire->__call('execute', Array)
#33 C:\Users\jlahijani\Projects\mysite.com\index.php(241): ProcessPageView->execute(true)
#34 {main}

Perhaps completely ignoring "node_modules" would be a good idea, or at least a configuration option to. This could also apply to "bower_components" when using bower.

@adrianbj
Copy link
Owner

adrianbj commented Aug 4, 2015

Thanks @jlahijani for the report.

I have made a quick fix which I hope should work - please let me know how it goes.

You will find a module config setting: Paths of parent directories to exclude from migration

Enter:

node_modules 

in that and I think it should solve the problem.

@jlahijani
Copy link
Sponsor Author

Using PW 3.0.12. Seems to be an issue when exporting. I made sure to put node_modules in the ignore list. Here's the error I'm getting.

RecursiveDirectoryIterator::__construct(C:/Users/jlahijani/Projects/test.com/site/templates\node_modules\gulp-imagemin\node_modules\gulp-util\node_modules\dateformat\node_modules\meow\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\vendor,C:/Users/jlahijani/Projects/test.com/site/templates\node_modules\gulp-imagemin\node_modules\gulp-util\node_modules\dateformat\node_modules\meow\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\vendor): The system cannot find the path specified. (code: 3)

(note: on Windows with WAMP)

@adrianbj
Copy link
Owner

@jlahijani - is this fixed by the try/catch in your PR? If so, then this should be fixed in the latest version. Please close if you think appropriate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants