Skip to content

Instantly share code, notes, and snippets.

View ManotLuijiu's full-sized avatar
🏠
Working from home

Manot Luijiu ManotLuijiu

🏠
Working from home
View GitHub Profile
@ManotLuijiu
ManotLuijiu / app.js
Last active June 7, 2021 08:34
Log node.js project with winston and morgan
const express = require('express');
const bodyParser = require('body-parser');
const favicon = require('serve-favicon');
const path = require('path');
const rfs = require('rotating-file-stream');
// const logger = require('./util/loggerEasy');
const logger = require('./util/loggerWithLineNew');
const { stream } = logger;
const morgan = require('morgan');
@ManotLuijiu
ManotLuijiu / app.js
Last active June 12, 2021 15:06
Log node.js project with winston and morgan
const express = require('express');
const bodyParser = require('body-parser');
const favicon = require('serve-favicon');
const path = require('path');
const rfs = require('rotating-file-stream');
require('dotenv').config(); // Put before logger.js
// const logger = require('./util/loggerEasy');
const logger = require('./util/logger');
const { stream } = logger;
@ManotLuijiu
ManotLuijiu / loggerWithLine.js
Created June 6, 2021 22:07
Log node.js project with winston and morgan
const winston = require('winston');
require('winston-daily-rotate-file');
const path = require('path');
const PROJECT_ROOT = path.join(__dirname, '..');
const highlight = require('cli-highlight').highlight;
// const options = {
// file: {
// level: 'info',
@ManotLuijiu
ManotLuijiu / colorful_winston_logger.js
Created June 5, 2021 10:30 — forked from alfasin/colorful_winston_logger.js
A Nodejs implementation of a console transport logger based on Winston 3.x which also prints the filename and line-number
const winston = require('winston');
const { format } = winston;
const { combine, colorize, timestamp, printf } = format;
/**
* /**
* Use CallSite to extract filename and number, for more info read: https://v8.dev/docs/stack-trace-api#customizing-stack-traces
* @param numberOfLinesToFetch - optional, when we want more than one line back from the stacktrace
* @returns {string|null} filename and line number separated by a colon, if numberOfLinesToFetch > 1 we'll return a string
@ManotLuijiu
ManotLuijiu / logger.js
Created June 5, 2021 10:23 — forked from ludwig/logger.js
winston logger with filename:linenumber
// NOTE: this adds a filename and line number to winston's output
// Example output: 'info (routes/index.js:34) GET 200 /index'
var winston = require('winston')
var path = require('path')
var PROJECT_ROOT = path.join(__dirname, '..')
var logger = new winston.logger({ ... })
// this allows winston to handle output from express' morgan middleware
@ManotLuijiu
ManotLuijiu / settings.json
Created May 31, 2021 01:42
.vscode configuration
{
"editor.fontSize": 16,
"terminal.integrated.fontSize": 16,
"window.zoomLevel": 0
}
@ManotLuijiu
ManotLuijiu / index.js
Created March 18, 2021 14:31
Upload Excel to MongoDB
const fs = require('fs');
const multer = require('multer');
const express = require('express');
let MongoClient = require('mongodb').MongoClient;
let url = 'mongodb://localhost:27017/';
const excelToJson = require('convert-excel-to-json');
const app = express();
@ManotLuijiu
ManotLuijiu / fileTransformer.js
Created March 2, 2021 14:05
Change file logo.jpg to logo
const path = require('path');
module.exports = {
process(src, filename, config, options) {
return 'module.exports = ' + JSON.stringify(path.basename(filename)) + ';';
},
};
@ManotLuijiu
ManotLuijiu / setupTests.js
Created March 2, 2021 14:03
Put setupTests.js in the root folder of NextJS
import '@testing-library/jest-dom/extend-expect';
@ManotLuijiu
ManotLuijiu / jest.config.js
Created March 2, 2021 14:01
Jest config for NextJS, need to install "identity-obj-proxy"
module.exports = {
testPathIgnorePatterns: ['<rootDir>/.next/', '<rootDir>/node_modules/'],
setupFilesAfterEnv: ['<rootDir>/setupTests.js'],
transform: {
'^.+\\.(js|jsx|ts|tsx)$': '<rootDir>/node_modules/babel-jest',
'\\.(css|less|scss|sass)$': 'identity-obj-proxy',
'\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$':
'<rootDir>/fileTransformer.js',
},
};