lasso-js / lasso

Advanced JavaScript module bundler, asset pipeline and optimizer
582 stars 75 forks source link

Infinite loop when using watch flag #124

Closed regiellis closed 8 years ago

regiellis commented 8 years ago

Currently using the command: "lasso": "lasso ./source/benchmark.browser.json --inject-into index.html --config lasso-config.json --development", "lasso:watch": "npm run lasso -- -w"

Currently this does complete the command correctly, but the script will continue to recompile files even when there is no file changes. From the output, my node_modules are currently being searched and used in the mix and I currently see no way to ignore it in the config from the documentation.

Node Ver: 5.10.1 NPM: 3.8.3

I am only using Marko Widgets in a static setup, no server framework in the mix. Any thoughts?

patrick-steele-idem commented 8 years ago

Thanks for reporting the problem, @regiellis. I will try to reproduce today and update when I know more. Thanks again.

regiellis commented 8 years ago

@patrick-steele-idem This seems to happen if there is an error in the script or not. I have attached my simple code setup where the error is happening, if you feel like using that. If you look at the index file, you will see that the injection is adding the node_modules. This seems to happen when I added the --development flag.

code.zip

patrick-steele-idem commented 8 years ago

Hey @regiellis, thank you for sharing your project...very helpful. I pushed an update to lasso-cli to fix the infinite loop. Typically you wouldn't see the problem because the output directories would be ignored, but in your case you didn't have a .gitignore file. I made some changes lasso-cli to always ignore the output directories and any HTML files that are to be modified. I also update lasso-cli to use the latest v2 version of lasso.

Please let me know if you still see problems with latest version:

npm install lasso-cli@^2 --global

On a somewhat related note, I plan on releasing a new version of lasso later today with lots of performance improvements and bug fixes around caching. The new release will be backwards compatible and only be a minor version change.

regiellis commented 8 years ago

Thanks @patrick-steele-idem for the quick fix, I will re-open if I see anything else. I am working on a lot of prototypes with Lasso and the "Marko Gang", so I may or may not come up against more