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 / 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',
},
};
@ManotLuijiu
ManotLuijiu / my-opacity.js
Created February 21, 2021 04:28
Get elements then inject opacity from 0 to 1
document.addEventListener('DOMContentLoaded', () => {
var myOpacity = 0;
var readMeter = document.getElementsByClassName('bsf-rt-display-label')[0];
var readUnit = document.getElementsByClassName('bsf-rt-display-postfix')[0];
var readColor = document.getElementsByClassName('bsf-rt-reading-time')[0];
function MyFadeFunction() {
if (myOpacity < 1) {
myOpacity += 0.075;
setTimeout(function () {
@ManotLuijiu
ManotLuijiu / wp-script.js
Last active February 20, 2021 14:50
WordPress Script for take care social icons toggle hide/show using Elementor & Essential Addons
document.onscroll = function () {
var e = window,
a = 'inner';
var viewportWidth;
var viewportHeight;
if (!('innerWidth' in window)) {
a = 'client';
e = document.documentElement || document.body;
}
viewportWidth = { width: e[a + 'Width'] };