npm install --global (for all dependencies on package.json) - json

I would like to install all the dependencies of my package.json file globally.
I tried Running
npm install -g
But this will install the dependencies of the package locally.
Is it possible to install all my package dependencies globally?

Save the following content in root of project as package.js
let json = require('./package.json')
const ob = json
var a = 'npm i -g '
// #types/slug ^0.9.1
Object.entries(ob['dependencies']).forEach(e => {
a = a + ' ' + e[0] + '#' + e[1] + ' '
// console.log(e[0], )
})
const { exec } = require('child_process')
console.log('dependencies', a)
exec(a, (err, stdout, stderr) => {
if (err) {
//some err occurred
console.error(err)
} else {
// the *entire* stdout and stderr (buffered)
console.log(`stdout: ${stdout}`)
console.log(`stderr: ${stderr}`)
}
})
var b = 'npm i -g '
// #types/slug ^0.9.1
Object.entries(ob['devDependencies']).forEach(e => {
b = b + ' ' + e[0] + '#' + e[1] + ' '
// console.log(e[0], )
})
console.log('devDependencies', b)
exec(b, (err, stdout, stderr) => {
if (err) {
//some err occurred
console.error(err)
} else {
// the *entire* stdout and stderr (buffered)
console.log(`stdout: ${stdout}`)
console.log(`stderr: ${stderr}`)
}
})
now run node package.js
run it as sudo node package.js if face admin issue

Related

gulp task watchify not displaying console.log

I have a gulp task bulding something when the developer save the code (ctrl + s).
It's watching the code and building when there is a change
My issue is that the script do not display console.log during the execution of the script. It only display when we stop the script (ctrl + c)
gulpReactBridgeWatch = function (cb) {
'use strict';
var cmd = 'mkdir -p react/dist && NODE_PATH=react/src NODE_ENV=development ./node_modules/.bin/watchify -p [ tsify -p ./react/tsconfig_build.json ] -g [ scssify --sass [ --importer ./node_modules/node-sass-tilde-importer/index.js ] ] -t [ babelify --extensions .ts --extensions .js --extensions .tsx ] -g [ envify --REACT_APP_BRIDGED true ] -s ReactBridge react/src/bridge/index.ts --external react --external react-dom -o react/dist/bridge.js -v';
return exec(cmd, function (err, stdout, stderr) {
if (err) {
if (stdout) {
console.log(stdout);
}
if (stderr) {
console.log(stderr);
}
console.log('Error building ReactJS Bridge: ' + err);
process.exit(1);
}
cb();
});
},
As you can see, when launching the script, the console.log is not displayed :
But when we cancel the script, the logs appear :

Gulp3 node 10.16.3 globalThis

I tried to upgraded to gulp4 but now I need to go back to gulp3. I installed the node I had installed version 10.16.3 but now I am getting this error message? it was working in the past for me using this version so I am not sure what happen.
Angular CLI: 9.1.6
Node: 10.16.3
OS: win32 ia32
C:\WebProjects\ITF.Web>gulp prod
ReferenceError: globalThis is not defined
at Object. (C:\WebProjects\ITF.Web\node_modules\typedoc\dist\lib\utils\general.js:12:1)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object. (C:\WebProjects\ITF.Web\node_modules\typedoc\dist\lib\application.js:24:19)
at Module._compile (internal/modules/cjs/loader.js:778:30)
Gulp file
var gulp = require("gulp");
var runSequence = require("run-sequence");
var tslint = require("gulp-tslint");
var typedoc = require("gulp-typedoc");
var superstatic = require("superstatic");
var shell = require("gulp-shell");
var typescript = require("gulp-typescript");
var tsProject = typescript.createProject("tsconfig.json");
var sourcemaps = require("gulp-sourcemaps");
var rimraf = require("gulp-rimraf");
var replace = require("gulp-replace");
var rename = require("gulp-rename");
var ignore = require("gulp-ignore");
var insert = require("gulp-insert");
var concat = require("gulp-concat");
var uglify = require("gulp-uglify");
var tslintStylish = require("gulp-tslint-stylish");
var util = require("gulp-util");
var commentSwap = require("gulp-comment-swap");
var tsc = require("gulp-typescript");
var gulp_jspm = require("gulp-jspm");
var inlineNg2Template = require("gulp-inline-ng2-template");
/**
* Typescript configuration
**/
var paths = {
dist: "./dist",
sources: "./App/**/*.ts"
};
gulp.task("prod", function (callback) {
runSequence(
"compile",
"bundle",
"min",
function (error) {
if (error) {
console.log(error.message);
} else {
console.log("Production build finished successfully");
}
callback(error);
});
});
/**
* Compile TypeScript sources
*/
gulp.task("compile", ["clean"], function () {
return gulp.src("./App/**/*.ts")
.pipe(inlineNg2Template({
base: "/", // Angular2 application base folder
target: "es6", // Can swap to es5
indent: 2, // Indentation (spaces)
useRelativePaths: false, // Use components relative assset paths
removeLineBreaks: false, // Content will be included as one line
templateExtension: ".html", // Update according to your file extension
templateFunction: false // If using a function instead of a string for `templateUrl`, pass a reference to that function here
}))
.pipe(typescript(tsProject))
.pipe(ignore("References.js"))
.pipe(gulp.dest("dist/App"));
});
/**
* Bundle application parts
*/
gulp.task("bundle:template", function () {
return createBundleTask(paths.dist + "/App/Pages/TemplateEdit.js", "template");
});
gulp.task("bundle:agents", function () {
return createBundleTask(paths.dist + "/App/Pages/Maintenance/Agents.js", "agents");
});
gulp.task("bundle:indications", function () {
return createBundleTask(paths.dist + "/App/Pages/Maintenance/Indications.js", "indications");
});
gulp.task("bundle:styleguidenotes", function () {
return createBundleTask(paths.dist + "/App/Components/NoteEditor/NoteEditor.js", "styleguidenotes");
});
gulp.task("bundle:dynamicdictionary", function () {
return createBundleTask(paths.dist + "/App/Pages/Maintenance/DynamicDictionary.js", "dynamicdictionary");
});
gulp.task("bundle:splitdynamicdictionary", function () {
return createBundleTask(paths.dist + "/App/Pages/Maintenance/SplitDynamicDictionary.js", "splitdynamicdictionary");
});
gulp.task("bundle:styleguidenotesdevprocess", function () {
return createBundleTask(paths.dist + "/App/Pages/StyleGuideNote/Index.js", "styleguidenotesdevprocess");
});
gulp.task("bundle:scheduling", function () {
return createBundleTask(paths.dist + "/App/Pages/Scheduling/Index.js", "scheduling");
});
gulp.task("bundle:templatesmanagement", function () {
return createBundleTask(paths.dist + "/App/Pages/TemplatesManagement/Index.js", "templatesmanagement");
});
gulp.task("bundle:review", function () {
return createBundleTask(paths.dist + "/App/Pages/Review/Index.js", "review");
});
gulp.task("bundle:ownedreview", function () {
return createBundleTask(paths.dist + "/App/Pages/OwnedReview/Index.js", "ownedreview");
});
gulp.task("bundle:pdfqueue", function () {
return createBundleTask(paths.dist + "/App/Pages/PdfQueue/Index.js", "pdfqueue");
});
gulp.task("bundle:admin", function () {
return createBundleTask(paths.dist + "/App/Pages/Admin/Index.js", "admin");
});
gulp.task("bundle", function (callback) {
runSequence(
"bundle:template",
"bundle:agents",
"bundle:indications",
"bundle:styleguidenotes",
"bundle:dynamicdictionary",
"bundle:splitdynamicdictionary",
"bundle:styleguidenotesdevprocess",
"bundle:scheduling",
"bundle:templatesmanagement",
"bundle:review",
"bundle:ownedreview",
"bundle:pdfqueue",
"bundle:admin",
function (error) {
if (error) {
console.log(error.message);
} else {
console.log("Bundling finished successfully");
}
callback(error);
});
});
/**
* Create application package
*/
gulp.task("min:template", function () {
return createProductionPackageTask("template", true);
});
gulp.task("min:agents", function () {
return createProductionPackageTask("agents", false);
});
gulp.task("min:indications", function () {
return createProductionPackageTask("indications", false);
});
gulp.task("min:styleguidenotes", function () {
return createProductionPackageTask("styleguidenotes", false);
});
gulp.task("min:dynamicdictionary", function () {
return createProductionPackageTask("dynamicdictionary", false);
});
gulp.task("min:splitdynamicdictionary", function () {
return createProductionPackageTask("splitdynamicdictionary", false);
});
gulp.task("min:styleguidenotesdevprocess", function () {
return createProductionPackageTask("styleguidenotesdevprocess", false);
});
gulp.task("min:scheduling", function () {
return createProductionPackageTask("scheduling", false);
});
gulp.task("min:templatesmanagement", function () {
return createProductionPackageTask("templatesmanagement", false);
});
gulp.task("min:review", function () {
return createProductionPackageTask("review", false);
});
gulp.task("min:ownedreview", function () {
return createProductionPackageTask("ownedreview", false);
});
gulp.task("min:pdfqueue", function () {
return createProductionPackageTask("pdfqueue", false);
});
gulp.task("min:admin", function () {
return createProductionPackageTask("admin", false);
});
gulp.task("min", function (callback) {
runSequence(
"min:template",
"min:agents",
"min:indications",
"min:styleguidenotes",
"min:dynamicdictionary",
"min:splitdynamicdictionary",
"min:styleguidenotesdevprocess",
"min:scheduling",
"min:templatesmanagement",
"min:review",
"min:ownedreview",
"min:pdfqueue",
"min:admin",
function (error) {
if (error) {
console.log(error.message);
} else {
console.log("Minification finished successfully");
}
callback(error);
});
});
/**
* Clean build folder
*/
gulp.task("clean", function () {
return gulp.src(paths.dist, { read: false }).pipe(rimraf({ force: true }));
});
/**
* Helper methods
*/
var createBundleTask = function (entryPoint, packageId) {
if (typeof entryPoint === "undefined") {
throw "ArgumentNullException: entryPoint";
}
if (typeof packageId === "undefined") {
throw "ArgumentNullException: packageId";
}
var task = gulp.src(entryPoint)
.pipe(gulp_jspm({ selfExecutingBundle: true }))
.pipe(rename(packageId + ".bundle.js"))
.pipe(gulp.dest(paths.dist + "/bundle"));
return task;
};
var createProductionPackageTask = function (packageId, uglifyDestination) {
if (typeof packageId === "undefined") {
throw "ArgumentNullException: packageId";
}
var filesArry = [
"./node_modules/core-js/client/shim.min.js",
"./node_modules/zone.js/dist/zone.js",
"./node_modules/reflect-metadata/Reflect.js",
paths.dist + "/bundle/" + packageId + ".bundle.js"
];
var task = gulp.src(filesArry)
.pipe(concat(packageId + "_concatApp.js"))
.pipe(gulp.dest(paths.dist + "/temp"))
.pipe(rename(packageId + ".bundle.min.js"));
if (uglifyDestination) {
task = task.pipe(uglify({ mangle: false }));
}
return task.pipe(gulp.dest(paths.dist + "/build"));
};
Error installing typedoc#^2.2
PM> npm install -D 'typedoc#^2.2'
npm : npm ERR! code ETARGET
At line:1 char:1
+ npm install -D 'typedoc#^2.2'
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (npm ERR! code ETARGET:String) [], RemoteException
+ FullyQualifiedErrorId : NativeCommandError
npm ERR! notarget No matching version found for typedoc#2.2.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\AppData\Local\npm-cache\_logs\2022-04-18T12_02_53_816Z-debug-0.log
Debug log
128 verbose lifecycle nccn-cott#1.0.0~postinstall: unsafe-perm in lifecycle true
129 verbose lifecycle nccn-cott#1.0.0~postinstall: PATH: C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin;C:\WebProjects\COTT\COTT\OrderTemplateTool.Web\node_modules\.bin;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Server\120\DTS\Binn\;C:\OpenSSL-Win64\bin;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\dotnet\;C:\WINDOWS\System32\OpenSSH\;c:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;c:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\140\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft Emulator Manager\1.0\;C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\;C:\Program Files (x86)\dotnet\;C:\Program Files\nodejs\;D:\Ruby26-x64\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\;C:\Users\mcdevitt\AppData\Local\Programs\Fiddler;C:\Users\mcdevitt\AppData\Local\Microsoft\WindowsApps;C:\Users\mcdevitt\AppData\Roaming\npm
130 verbose lifecycle nccn-cott#1.0.0~postinstall: CWD: C:\WebProjects\COTT\COTT\OrderTemplateTool.Web
131 silly lifecycle nccn-cott#1.0.0~postinstall: Args: [ '/d /s /c', 'typings install' ]
132 timing audit submit Completed in 171ms
133 http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/audits/quick 172ms
134 timing audit body Completed in 2ms
135 silly lifecycle nccn-cott#1.0.0~postinstall: Returned: code: 1 signal: null
136 info lifecycle nccn-cott#1.0.0~postinstall: Failed to exec postinstall script
137 verbose stack Error: nccn-cott#1.0.0 postinstall: `typings install`
137 verbose stack Exit status 1
137 verbose stack at EventEmitter.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\index.js:301:16)
137 verbose stack at EventEmitter.emit (events.js:198:13)
137 verbose stack at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
137 verbose stack at ChildProcess.emit (events.js:198:13)
137 verbose stack at maybeClose (internal/child_process.js:982:16)
137 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)
138 verbose pkgid nccn-cott#1.0.0
Support for Node.js 10 was dropped in TypeDoc 0.21 (see announcement). To keep using Node.js 10, pin gulp-typedoc to version 2.2:
npm install -D 'gulp-typedoc#^2.2'
gulp-typedoc 2.2.9 is the last version of gulp-typedoc that depends on a legacy version of TypeDoc, while gulp-typedoc 3.0 doesn't have a version requirement.

Nodejs Service crashed and exit after few hours [duplicate]

I am trying to solve this issue for last 10 days. I tried everything I found on google.
I search and tried with many way but did not get any appropriate solution.
After running "npm start" at server at night I found this error at morning.
throw er; // Unhandled 'error' event
^
Error: Packets out of order. Got: 0 Expected: 244
at Parser.write (D:\people_hub\backend\node_modules\mysql\lib\protocol\Parser.js:42:19)
at Protocol.write (D:\people_hub\backend\node_modules\mysql\lib\protocol\Protocol.js:39:16)
at Socket.<anonymous> (D:\people_hub\backend\node_modules\mysql\lib\Connection.js:103:28)
at Socket.emit (events.js:314:20)
at addChunk (_stream_readable.js:297:12)
at readableAddChunk (_stream_readable.js:272:9)
at Socket.Readable.push (_stream_readable.js:213:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
Emitted 'error' event on Connection instance at:
at Connection._handleProtocolError (D:\people_hub\backend\node_modules\mysql\lib\Connection.js:433:8)
at Protocol.emit (events.js:314:20)
at Protocol._delegateError (D:\people_hub\backend\node_modules\mysql\lib\protocol\Protocol.js:392:10)
at Protocol.handleParserError (D:\people_hub\backend\node_modules\mysql\lib\protocol\Protocol.js:374:10)
at Parser.write (D:\people_hub\backend\node_modules\mysql\lib\protocol\Parser.js:50:14)
at Protocol.write (D:\people_hub\backend\node_modules\mysql\lib\protocol\Protocol.js:39:16)
[... lines matching original stack trace ...]
at readableAddChunk (_stream_readable.js:272:9) {
code: 'PROTOCOL_PACKETS_OUT_OF_ORDER',
fatal: true
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! hrproject#1.0.0 start: `node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the hrproject#1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\era\AppData\Roaming\npm-cache\_logs\2021-11-11T12_13_12_697Z-debug.log
My Sql connection file:
const Sequelize = require('sequelize')
const dotenv = require('dotenv');
dotenv.config();
const sequelize =
new Sequelize(process.env.DBNAME, process.env.DBUSER, process.env.DBPASS,
{
host: process.env.HOST,
port: process.env.HOST_PORT,
dialect: 'mysql',
operatorsAliases: 0, //false,
timezone: "+06:00",
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000,
}
}
)
module.exports = sequelize;
My app.js file:
const express = require('express');
var cookieParser = require("cookie-parser");
const cors = require('cors');
const app = express();
app.use(cors());
app.use(express.json({ limit: "50mb" }));
app.use(express.urlencoded({ limit: "50mb", extended: false /*, parameterLimit: 50000*/ }));
app.use(cookieParser());
const Login = require('./routes/mysql-login');
app.use('', Login);
module.exports = app;
My Final Connection File:
var app = require("../server");
var debug = require("debug") // ("rest-api-nodejs-mongodb:server");
const db = require("../database/db");
var http = require("http");
const fs = require('fs');
var port = normalizePort(process.env.PORT || "3000");
app.set("port", port);
var server = http.createServer(app);
setConnection();
server.listen(port);
server.on("error", onError);
server.on("listening", onListening);
function setConnection() {
db.sync()
.then((result) => {
if (result) {
console.log("DB Connected");
console.log(`Nodejs Server started on port: ` + port);
}
})
.catch((err) => {
console.log("Database Connection Error: ", err);
})
};
function normalizePort(val) {
var port = parseInt(val, 10);
if (isNaN(port)) {
// named pipe
return val;
}
if (port >= 0) {
// port number
return port;
}
return false;
}
function onError(error) {
if (error.syscall !== "listen") {
console.error(`MySQL Connection Error: ${error}`);
throw error;
}
var bind = typeof port === "string" ? "Pipe " + port : "Port " + port;
// handle specific listen errors with friendly messages
switch (error.code) {
case "EACCES":
console.error(bind + " requires elevated privileges");
process.exit(1);
break;
case "EADDRINUSE":
console.error(bind + " is already in use");
process.exit(1);
break;
case "ELIFECYCLE":
console.error("MySQL Connection Lost");
setConnection();
default:
console.error(`MySQL Database Error: ${error}`);
throw error;
}
}
function onListening() {
var addr = server.address();
var bind = typeof addr === "string" ? "pipe " + addr : "port " + addr.port;
debug("Listening on " + bind);
}
I modified the mysql database with:
set global net_buffer_length=1000000;
set global max_allowed_packet=1000000000;
Everything I found on google I tried. but Failed at the end. So what to do now?
Updating "sequelize" and "mysql2" npm packages at Nodejs end with latest version solved the problem for now.

Getting file from hash in js-ipfs

I'm running the script below and using an ipfs node to upload and get a file using its hash, but the ipfs cat function only returns the path of the file from the hash, not the content.
const node = new Ipfs()
node.once('ready', () => console.log('IPFS node is ready'))
$("#saveIt").click(function(){
var toStore = document.getElementById('fileInput').value
node.files.add(new node.types.Buffer.from(toStore), (err, res) => {
if (err || !res) {
return console.error('ipfs add error', err, res)
}
res.forEach((file) => {
if (file && file.hash) {
var newVar = file.hash
var newVar1 = newVar.slice(0, 23)
var leng = newVar.length
var newVar2 = newVar.slice(24, leng)
console.log(newVar1 + ' ' + newVar2)
mediachain.setUserFile($("#passwordSetter").val(), newVar1, newVar2)
node.files.cat(file.hash, (err, data) => {
if (err) {
return console.error('ipfs cat error', err)
}
document.getElementById('fileDisplayArea').innerText = data
})
} else {
console.error("Error: invalid file")
}
})
})
})
Does anyone have experience with js-ipfs and can help me out?
I had a similar problem with ipfs.
if you have hash already you can get the content this way.
const validCID = 'QmQFPQ5f94byxs7zvHMLJcx5WzThRhN4MfAF4ZisSXofKC'
ipfs.files.get(validCID, function (err, files) {
files.forEach((file) => {
console.log(file.path)
console.log("File content >> ",file.content.toString('utf8'))
})
})

how to import excel file in to mysql using nodejs

I am trying to import data in excel file to mysql just like row colon using nodejs are there any references i can learn or any module in nodejs that does my work or any sample code
I used Npm packages "xlsx-to-json-lc" and "xls-to-json-lc" to import excel file to json directly without converting to csv. Hope this helps...
var storage = multer.diskStorage({ //multers disk storage settings
destination: function (req, file, cb) {
cb(null, './uploads/')
},
filename: function (req, file, cb) {
var datetimestamp = dateFormat(new Date(), "yyyy~mm~dd h~MM~ss");
cb(null, '`enter code here`templete' + '-' + datetimestamp + '.' +
`enter code here`file.originalname.split('.')[file.originalname.split('.').length - 1])
filename = file.fieldname;
}
});
var upload = multer({ //multer settings
storage: storage,
fileFilter: function (req, file, callback) { //file filter
if (['xls', 'xlsx'].indexOf(file.originalname.split('.')[file.originalname.split('.').length - 1]) === -1) {
return callback(new Error('Wrong extension type'));
}
callback(null, true);
}
}).single('file');
var exceltojson;
upload(req, res, function (err) {
if (err) {
res.json({ error_code: 1, err_desc: err });
return;
}
if (!req.file) {
//res.json({ error_code: 1, err_desc: err });
return;
}
if (req.file.originalname.split('.')[req.file.originalname.split('.').length - 1] === 'xlsx') {
exceltojson = xlsxtojson;
} else {
exceltojson = xlstojson;
}
try {
exceltojson({
input: req.file.path,
output: null, //since we don't need output.json
//lowerCaseHeaders: true
}, function (err, result) {
if (err) {
return res.json({ error_code: 1, err_desc: err, data: null });
}
else {
console.log(result);
}
});
})