bookshelf and knex initialization error - bookshelf.js

I am trying to setup a mysql connection in node js using bookshelf and knex. This is my setup:
var knex = require('knex')({
client: 'mysql',
connection: {
host : '127.0.0.1',
user : 'my_user',
password : 'my_password',
database : 'my_db',
charset : 'utf8'
}
});
var DB = require('bookshelf')(knex);
module.exports.DB = DB;
I get the following error:
Error: [object KnexClient] is not a valid Knex client, did you misspell it?
at new Knex (/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/bookshelf/node_modules/knex/knex.js:48:17)
at new Bookshelf (/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/bookshelf/bookshelf.js:43:14)
at Bookshelf (/Users/arenduchintala/Projects/MacaronicWebApp/node_modules/bookshelf/bookshelf.js:37:14)
at Object.<anonymous> (/Users/arenduchintala/Projects/MacaronicWebApp/db.js:11:37)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/Users/arenduchintala/Projects/MacaronicWebApp/model.js:1:72)
at Module._compile (module.js:434:26)
at Object.Module._extensions..js (module.js:452:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
Looks like the line : require('bookshelf')(knex) throws an error.

I had an old version of bookshelf, I changed it in package.json from:
"bookshelf" : "0.5" to "bookshelf" : "*" and it seems to work now.

run
npm i --s mysql
it requires this package

Related

How to fix this after firebase update?

Heading
PS D:\Progetti\SitoWebLavoro> firebase deploy
node:internal/modules/cjs/loader:936
throw err;
^
Error: Cannot find module 'semver'
Require stack:
C:\Users\Fabio\AppData\Roaming\npm\node_modules\firebase-tools\lib\bin\firebase.js
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:933:15)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:1005:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (C:\Users\Fabio\AppData\Roaming\npm\node_modules\firebase-tools\lib\bin\firebase.js:4:16)
at Module._compile (node:internal/modules/cjs/loader:1105:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
at Module.load (node:internal/modules/cjs/loader:981:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:77:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\Users\Fabio\AppData\Roaming\npm\node_modules\firebase-tools\lib\bin\firebase.js'
]
}

Firebase Deploy Error 'Route.post() requires a callback function but got a [object undefined]?

I am getting this error when Firebase deploy in terminal. I can't find any of my code with Route.post() in. It looks like it s being called from a module ...
i deploying functions
i functions: ensuring necessary APIs are enabled...
✔ functions: all necessary APIs are enabled
i functions: preparing functions directory for uploading...
Error: Error occurred while parsing your function triggers.
Error: Route.post() requires a callback function but got a [object Undefined]
at Route.(anonymous function) [as post] (/Users/Desktop/castApp/functions/node_modules/express/lib/router/route.js:202:15)
at Function.app.(anonymous function) [as post] (/Users/Desktop/castApp/functions/node_modules/express/lib/application.js:482:19)
at Object.<anonymous> (/Users/Desktop/castApp/functions/index.js:12:5)
at Module._compile (internal/modules/cjs/loader.js:689:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
In my case, this error occurred when I deleted the function in the controller file but didn't update the corresponding place where needs this function as a callback function in the router file - index.js.
index.js:
app.post('/new', addNew);
const { addStandupHost } = require('./APIs/candidates');
candidate.js:
// exports.addNew = (request, response) => {
// ...
// db operation here
// ...
//}
It was solved just by deleting the corresponding code in index.js. To avoid this error, we should keep functions export and import consistent.

babel-generator Invalid mapping when writing AST

While writing a plugin that injects code from another file ... another file is transformed and injected into the AST of the original file
astB = babel.transformFileSync(templatename, { plugins:plugins, code:false});
after that, calling:
generate(ast, { sourceMaps: true, retainLines: false, quotes:"'"}, codes);
causes error
Error: Invalid mapping: {"generated":{"line":30,"column":0},"original":{"line":1,"column":0}}
at SourceMapGenerator_validateMapping [as _validateMapping] (node_modules\babel-generator\node_modules\source-map\lib\source-map-generator.js:289:13)
at SourceMapGenerator_addMapping [as addMapping] (node_modules\babel-generator\node_modules\source-map\lib\source-map-generator.js:101:12)
at Array.forEach (<anonymous>)
at SourceMap.get (node_modules\babel-generator\lib\source-map.js:49:25)
at Object.get [as map] (node_modules\babel-generator\lib\buffer.js:53:33)
at writeAst (test2.js:59:24)
at Object.<anonymous> (test2.js:55:1)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
It is not very obvious from the error, but the problem is that injected code called parser as part of the transformation, and did not provide file name.
changing the line with transform fixes the issue
adding parserOpts:{sourceFilename: templatename} the code becomes:
astB = babel.transformFileSync(templatename, {parserOpts:{sourceFilename: templatename}, plugins:plugins, code:false});

Importing css into Meteor project results in SyntaxError: Unexpected token

**EDIT: I solved this issue.
For imports to work with Meteor, you have to put your code in an /imports/ directory. Here's the official guide on structuring your app. It's odd because I was importing and exporting most things just fine without using their recommended file structure. It was only css imports that were not working.**
Whenever a import css from an npm package, I get the following error:
W20161023-13:23:17.701(-4)? (STDERR) /Users/mattmacpherson/Code/project/node_modules/codemirror/lib/codemirror.css:3
W20161023-13:23:17.701(-4)? (STDERR) .CodeMirror {
W20161023-13:23:17.701(-4)? (STDERR) ^
W20161023-13:23:17.702(-4)? (STDERR)
W20161023-13:23:17.702(-4)? (STDERR) SyntaxError: Unexpected token .
W20161023-13:23:17.703(-4)? (STDERR) at exports.runInThisContext (vm.js:53:16)
W20161023-13:23:17.703(-4)? (STDERR) at Module._compile (module.js:373:25)
W20161023-13:23:17.704(-4)? (STDERR) at Object.Module._extensions..js (module.js:416:10)
W20161023-13:23:17.704(-4)? (STDERR) at Module.load (module.js:343:32)
W20161023-13:23:17.704(-4)? (STDERR) at Module.Mp.load (/Users/mattmacpherson/.meteor/packages/babel-compiler/.6.9.1_1.15j1r1l++os+web.browser+web.cordova/npm/node_modules/reify/node/runtime.js:16:23)
W20161023-13:23:17.704(-4)? (STDERR) at Function.Module._load (module.js:300:12)
W20161023-13:23:17.704(-4)? (STDERR) at Module.require (module.js:353:17)
W20161023-13:23:17.705(-4)? (STDERR) at require (internal/module.js:12:17)
W20161023-13:23:17.705(-4)? (STDERR) at npmRequire (/Users/mattmacpherson/Code/project/.meteor/local/build/programs/server/npm-require.js:129:10)
W20161023-13:23:17.705(-4)? (STDERR) at Module.Mp.useNode (packages/modules-runtime/modules-runtime.js:69:1)
The example above is when importing codemirror's css but I also get the same error with many other packages, including react-s-alert and medium-draft.
Here is my .babelrc file:
{
"plugins": [
"transform-class-properties"
],
"presets": [
"babel-preset-es2015",
"babel-preset-react",
"babel-preset-stage-2"
]
}

grunt karma | Jasmine.js tasks issue

After running grunt karma, getting below error, the only change which I made, was upgrading the node packages.
"grunt-contrib-jasmine": "~0.8.2",
"karma": "~0.12.36",
"karma-chrome-launcher": "~0.1.12",
"karma-firefox-launcher": "~0.1.6",
"karma-jasmine": "~0.3.5",
"karma-phantomjs-launcher": "^0.2.0",
Error which I am getting after running Grunt Karma.
Loading "jasmine.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Loading "jsdoc-plugin.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Loading "grunt-karma.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Loading "notify.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Loading "notify_hooks.js" tasks...ERROR
>> TypeError: Cannot read property 'hooker' of undefined
Loading "open.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Loading "shell.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Loading "uncss.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Loading "usemin.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Loading "GruntFile.js" tasks...ERROR
>> TypeError: Cannot read property '_' of undefined
Warning: Cannot read property 'name' of undefined Use --force to continue.
TypeError: Cannot read property 'name' of undefined
at Object.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/task.js:224:24)
at Object.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:301:30)
at Task.runTaskFn (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:251:24)
at Task.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:300:12)
at Task.start (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:309:5)
at Object.grunt.tasks (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt.js:164:8)
at Object.module.exports [as cli] (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/cli.js:38:9)
at Object.<anonymous> (/usr/local/lib/node_modules/grunt-cli/bin/grunt:45:20)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
Aborted due to warnings.
Fatal error: Cannot read property 'exit' of undefined
TypeError: Cannot read property 'exit' of undefined
at Object.fail.warn (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/fail.js:73:15)
at Object.task.options.error (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt.js:137:12)
at Task.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:221:29)
at Task.runTaskFn (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:257:7)
at Task.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:300:12)
at Task.start (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:309:5)
at Object.grunt.tasks (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt.js:164:8)
at Object.module.exports [as cli] (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/cli.js:38:9)
at Object.<anonymous> (/usr/local/lib/node_modules/grunt-cli/bin/grunt:45:20)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/fail.js:57
grunt.util.exit(typeof errcode === 'number' ? errcode : fail.code.FATAL_ERRO
^
TypeError: Cannot read property 'exit' of undefined
at Object.fail.fatal (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/fail.js:57:13)
at process.uncaughtHandler (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt.js:130:10)
at process.emit (events.js:107:17)
at process._fatalException (node.js:236:26)
at Task.runTaskFn (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:257:7)
at Task.<anonymous> (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:300:12)
at Task.start (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/util/task.js:309:5)
at Object.grunt.tasks (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt.js:164:8)
at Object.module.exports [as cli] (/Users/marif/Dev/JavaScript/JavaScript-Boilerplate/node_modules/grunt/lib/grunt/cli.js:38:9)
at Object.<anonymous> (/usr/local/lib/node_modules/grunt-cli/bin/grunt:45:20)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
Hope to get some pointers to resolve the same.
P.S. It's been running fine if I use karma using 'karma start test/karma.conf.js' from the terminal. But I have been trying to kick off karma through grunt-karma task as well and that's where it's failing.

Resources