Skip to content

Instantly share code, notes, and snippets.

View hawkeye64's full-sized avatar

Jeff Galbraith hawkeye64

View GitHub Profile
@hawkeye64
hawkeye64 / inotify.md
Created May 29, 2023 13:14 — forked from coenraadhuman/inotify.md
Increasing the amount of inotify watchers

Increasing the amount of inotify watchers

Take note this is my personal edited version and the command related to Arch has been changed to work on my Arch system.

Increase inotify watchers

This file has been truncated, but you can view the full file.
0x1f01000376623b0052bc537646db8e0528b52ffd0058b435046e8ac5ca115210380c391d3dbfdb5d968aaa1992a4b6ff378548d02fafcff60be45792111d819ea7d621232c70747d609c5afdba0d94f4e6e3767470ecd0032573e56020119123f73c86873af66d1b6e5ad2f69652ca9452221339100111deaeb3499098f6593e784f0449a33d37f968ac1eda6fef98b59b843d8cbe0d0bf9a3af77111cfaa2afaf07c27aacdc7a4e76ceb31775512f18b9d5e8f6b787c2f675e94060637cedece1fa362c7ab7e0364cba00bef6f5e8eb89d07eb4751b266bacdbb0f5a29e353ba05b087ced21f7317a8c1ea3c7f8e6638c3146df57acc2c50c971c20f06d8d0529ef21580f85d2d543edaf1ee26fe77a686b2c10f1edac268a32feb0487f18f4eddb43ebedb287d8dbf7d5f548e877c88cf94ab7afd0bfbddb0a7c5bdbd2c66f8dcbd40fe0b7b6e5e9d75b92806f6b5d681fca6f2f6a2e126dc7d8db37126dc742eed943ee43eedb37126dc7c2efd9c3ef43eedb650fadb76f0f71be2e7b68f375ae87f6d7bb0ddce740fe6e3bf8f8a977ebc1d745d60652676f095777779ee8506bd83ef54eb238907f3dea45bd5e08fbd48bbaa83770bf63afc9e6b4869b6fdeb5d7e4fbcdd7930d93bede92e945dd318b829baf17bda88bbaa88bbaebd65b390786dc734e4195af4011a8ab6ac84f7d03c3cdb7619c17450e0ce5734ec1
@hawkeye64
hawkeye64 / deepEqual.js
Created April 8, 2022 19:17
JavaScript to compare two things as equal (client-side)
'use strict'
export function deepEqual (object1, object2) {
// check for falsy values
if (!object1 && !object2) return true
if (!object1 && object2) return false
if (object1 && !object2) return false
const keys1 = Object.keys(object1)
const keys2 = Object.keys(object2)
@hawkeye64
hawkeye64 / deepClone.js
Created April 8, 2022 19:16
JavaScript to deep clone anything (client-side)
'use strict'
function deepClone (data, hash = new WeakMap()) {
if (Object(data) !== data) return data
if (hash.has(data)) return hash.get(data)
const result = data instanceof Date
? new Date(data)
: (data instanceof RegExp
? new RegExp(data.source, data.flags)
@hawkeye64
hawkeye64 / toSnakeCase.js
Created April 8, 2022 19:16
JavaScript to convert camelCase to snake_case (server-side)
'use strict'
// converts camelCase to snake_case
// used to convert to database
// myVar => my_var
function toSnakeCase (objectArrayOrString) {
return keysToSnake(objectArrayOrString)
}
const toSnake = (s) => {
@hawkeye64
hawkeye64 / toCamelCase.js
Created April 8, 2022 19:14
JavaScript to convert snake_case to camelCase (server-side)
'use strict'
// converts snake_case to camelCase
// used to convert from database
// my_var => myVar
function toCamelCase (objectArrayOrString) {
return keysToCamel(objectArrayOrString)
}
const toCamel = (s) => {
@hawkeye64
hawkeye64 / Quasar and Tailwind CSS
Created October 19, 2020 19:32
Quasar and Tailwind CSS
timsayshey commented on 21 Jul •
We came up with a workaround on our team to get Quasar and Tailwind to work together. Our goal was to build everything in Tailwind on Quasar but we didn't want Quasar styles loading in and taking over or conflicting with our Tailwind styles. The first thing we had to do was prevent the Quasar stylesheet from loading in however there is no option to disable it so we do a find/replace to remove it when webpack builds.
Run npm i string-replace-loader then add the following code to the extendWebpack() method in your quasar.conf.js file:
cfg.module.rules.push({
test: /client-entry\.js$/,
loader: 'string-replace-loader',
options: {
search: "import 'quasar/dist/quasar.sass'",
SlideTransition.vue
```js
<template>
<div ref="container" style="transition: height 0.4s; overflow: hidden;">
<div ref="content">
<slot></slot>
</div>
</div>
</template>
@hawkeye64
hawkeye64 / jsontoFormdata.js
Created January 14, 2021 14:40
json to formdata
function buildFormData (formData, data, parentKey) {
if (data && typeof data === 'object' && !(data instanceof Date) && !(data instanceof File)) {
Object.keys(data).forEach(key => {
buildFormData(formData, data[key], parentKey ? `${parentKey}[${key}]` : key)
})
}
else {
const value = data == null ? '' : data
formData.append(parentKey, value)
// -----------------------------------------------
// eslint-plugin.js - put into plugins folder
// see below for usage
// -----------------------------------------------
const path = require('path')
const fs = require('fs').promises
const ESLint = require('eslint').ESLint
const cwd = process.cwd()
const eslint = new ESLint({ cwd })