brunch.io not handling compilation errors - brunch

I created my own brunch configuration to work with coffeescript, jade and stylus.
It works perfectly, except for one major issue. Whenever coffeescript or jade (not had a stylus coding error yet) have issues compiling during brunch --watch, I get an error like the following :
C:\path\to\node_modules\brunch\lib\fs_utils\pipeline.js:64
return callback(throwError('Compiling', error));
^
ReferenceError: callback is not defined
at C:\path\to\node_modules\brunch\lib\fs_utils\pipeline.js:64:18
at CoffeeScriptCompiler.module.exports.CoffeeScriptCompiler.compile (C:\path\to\node_modules\coffee-script-brunch\lib\index.js:56:16)
at C:\path\to\node_modules\brunch\lib\fs_utils\pipeline.js:93:31
at fn (C:\path\to\node_modules\brunch\node_modules\async-waterfall\index.js:19:24)
at Object._onImmediate (C:\path\to\chromesign\node_modules\brunch\node_modules\async-waterfall\index.js:58:22)
at processImmediate [as _immediateCallback] (timers.js:330:15)
It looks like the plugin should be passed an error call back, but it isn't happening?
Have I done something wrong in my configuration? The skeleton with all the config is hosted on GitHub. I'd appreciate some input as to whether this is a problem on my side!
Thanks!

It appears that you installed brunch from the git master branch when you generated this error. I was unable to reproduce it using v1.7.10. On master (where I was able to reproduce it), it's just been fixed with https://github.com/brunch/brunch/commit/68dd9c9b6284c05a4eb01050dba56f80f978e35a. So if you reinstall brunch now, either the latest release (1.7.10) or the edge version from git master, the problem you've reported should go away.
Additionally, you might want to reconsider making brunch a dependency of your skeleton in the package.json. Unless there's a specific reason otherwise, it's better to let it just be installed globally. If you want to clarify to users that your skeleton should only be used with brunch versions >=1.7, you can say so in your readme.

Related

Webpack loading wrong version of Node Module for Angular project

I have a project in Angular 13. I want to use quillJS and I want to add tables so I tried to install quill-better-table in my project.
For some reason the package is not working. I used the web inspector and found this to be the issue:
ERROR TypeError: quill.keyboard.bindings.Backspace is undefined
The problem seems to be located at: quill_better_table_BetterTable quill-better-table.js:2979 and when I check the debugger I can see the line:
let thisBinding = quill.keyboard.bindings['Backspace'].pop();
quill.keyboard.bindings['Backspace'].splice(0, 1, thisBinding); // add Matchers to match and render quill-better-table for initialization
// or pasting
I found a github repo that had this issue fixed:
https://github.com/LosEcher/quill-better-table
The problem I'm running into is I dont know how to get that particular repo into my project. I have tried updating the current package and webpack continues to load the old one. I've tried clearing the npm cache and reinstalling the node packages.
I found this guide: https://whatapalaver.co.uk/npm-dependency which seems to indicate what I should do but I'm not quite npm literate enough to figure it out. Specifically, I dont know that I understand how to create the NPM link.
I'm looking for advice as to how to fix this package. I am going to be reading up on NPM link but I figured if there was another easier way to get this fixed then I would ask. I can load that repo into my node module folder, but I dont know how to make webpack reload the updated module.
Thanks in advance for the help, let me know what details I for got to add.

Error: Cannot find module './dist-tools/transform.js' from '/opt/atlassian/pipelines/agent/build/node_modules/aws-sdk'

Hi so we have something interesting happening in our builds.
Nothing regarding the gulp build script changed from our side for one of our projects. But suddenly today when we try to do a pipeline build on one of our repositories we get the following stacktrace error:
Error: Cannot find module './dist-tools/transform.js' from '/opt/atlassian/pipelines/agent/build/node_modules/aws-sdk'
at /opt/atlassian/pipelines/agent/build/node_modules/resolve/lib/async.js:128:35
at load (/opt/atlassian/pipelines/agent/build/node_modules/resolve/lib/async.js:147:43)
at onex (/opt/atlassian/pipelines/agent/build/node_modules/resolve/lib/async.js:172:17)
at /opt/atlassian/pipelines/agent/build/node_modules/resolve/lib/async.js:13:69
at FSReqWrap.oncomplete (fs.js:152:21)
Has anyone come accross this before? (we are using node 10.17 for our builds)
We tested the same code from our local builds and get the exact same issue. It seems that something in the aws-sdk package changed?
Since this error suddenly appeared this morning, we looked at our aws-sdk package and updated it to the latest version (2.643.0), but we still get the same error. No code that uses the aws-sdk package has changed.
Also seeing this as of this morning. I find this somewhat sus (adding dist-tools to npmignore).
https://github.com/aws/aws-sdk-js/commit/98c40e64cb7d60927c6a0cec49592fc1fcaa59d7
I wonder if pulling the package directly from GH would resolve.
UPDATE:
I've got a convo going on over here about this https://github.com/aws/aws-sdk-js/issues/3159
We downgraded to the previous version and our issue went away.

How to tweak an existing nodejs module and use it outside node_modules folder?

I'm using the module node-libcurl. When I deploy my app to Heroku it crashes when I initiate a function from the module (that works on my computer).
Thus I would like to add some logging to the existing node-libcurl module to troubleshoot the issue, and put it in my lib folder outside the node_modules (I excluded it from the git heroku repo).
I added node-pre-gyp lib to the node_modules explicitly.
For information the error is self-explanatory:
Error: getInfo failed. Error: An unknown option was passed in to libcurl
at Curl.getInfo (/app/node_modules/node-libcurl/lib/Curl.js:1023:15)
at Object.keys.filter.forEach.key (/app/src/libs/node-libcurl-promise.js:70:23)
at Array.forEach (<anonymous>)
at Curl.curl.on (/app/src/libs/node-libcurl-promise.js:69:6)
at emitThree (events.js:136:13)
at Curl.emit (events.js:217:7)
at Curl._onEnd (/app/node_modules/node-libcurl/lib/Curl.js:929:10)
at Multi.<anonymous> (/app/node_modules/node-libcurl/lib/Curl.js:52:14)
I would like to figure out what is the option that I set and that doesn't work
on Heroku and that works on my computer.
Thank you!
The key might be in the error messase: An unknown option was passed in to libcurl. It implies that libcurl was told to set/use an option that it doesn't know about. Probably because it is (too) old so your code is using an option that was added to a newer libcurl version and node-libcurl was built to use one or more of those newer options that your older libcurl doesn't know about!

Intellij Idea run configuration with ember.js on ubuntu

I am having a problem with the run configuration of ember on intellij idea on ubuntu 14.
I have installed ember using npm and I have followed a tutorial on my teacher's site on how to correctly configure intellij to use both maven and ember. I had no problem configuring the first part (maven), however at the second part, which was basically the same, I couldn't find the file he was refering to. Here is the picture:
tutorial
And here is the error:
[error]
Error: No ember-cli-build.js found. Please see the transition guide: https://github.com/ember-cli/ember-cli/blob/master/TRANSITION.md#user-content-brocfile-transition.
at CoreObject.module.exports.Task.extend.setupBroccoliBuilder (/home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/lib/models/builder.js:56:13)
at CoreObject.module.exports.Task.extend.init (/home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/lib/models/builder.js:89:10)
at CoreObject.superWrapper [as init] (/home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/node_modules/core-object/lib/assign-properties.js:32:18)
at CoreObject.Class (/home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/node_modules/core-object/core-object.js:32:33)
at CoreObject.module.exports.Task.extend.run (/home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/lib/tasks/build.js:15:19)
at /home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/lib/commands/build.js:32:24
at lib$rsvp$$internal$$tryCatch (/home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:1036:16)
at lib$rsvp$$internal$$invokeCallback (/home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:1048:17)
at /home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:331:11
at lib$rsvp$asap$$flush (/home/user/.nvm/versions/node/v5.0.0/lib/node_modules/ember-cli/node_modules/rsvp/dist/rsvp.js:1198:9)
Could you please help me find the file he was referring to in the tutorial (since "usr/bin" doesn't have any "ember" files)?
New error about permissions:
error
Do you have a brocfile.js in your project? If so, rename it to ember-cli-build... Apparently you installed a newer version of ember... You might want to re-run ember init
Have a look at https://github.com/ember-cli/ember-cli/blob/master/TRANSITION.md#user-content-brocfile-transition as well for more information.
Depending on how you installed ember/ember-cli it would lie under (if you don't use nvm):
~/.npm/
or
in your project structure:
<project_dir>/node_modules and <project_dir>/bower_components
Maybe you didn't initialize ember project. Run ember init in webapp directory

Issues installing swiper.js (node.js/grunt noob)

Having issues getting swiper.js to work. Requires grunt/bower. I'm completely new to js generators and am only able to get through about half the walkthrough before running into issues.
When I type $grunt dist into terminal, I get the following response: -bash: dist: command not found
What step am I missing?
Followed the idangerous steps to the letter: http://www.idangero.us/sliders/swiper/plugins/scrollbar.php
I have most often see "X command not found" for one of the following reasons:
The project's Grunt dependencies aren't installed or aren't installed properly
Your Gruntfile is mis-configured or missing
To fix this, first make sure there is a package.json file in your project. This will tell the npm what dependencies the project has and install them accordingly (assuming the package.json file is also configured correctly).
Next, make sure you have installed grunt correctly.
If you're still having issues, open your Gruntfile and search for:
grunt.registerTask('dist
This will show where the "dist" task is being defined. If you for some reason don't find it, then there's your problem. If you do find it, then check the proceeding commands inside square brackets that look like this:
grunt.registerTask('dist', ['clean', 'dist-css', 'copy:fonts', 'dist-js', 'dist-docs']);
'clean', 'dist-css', etc. are all other tasks defined in the Gruntfile, and there could be an issue with those as well.
If there's an issue with your package.json or Gruntfile, then trying re-installing the project with bower and repeat the above steps to ensure that it's not an issue on your end.
If it's not, then something is probably wrong with the author's source code.

Resources