This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Function to generate Mermaid graph code from package.json files | |
async function generateGraph(files: string[]) { | |
let graph = "graph TD;\n"; | |
for (const file of files) { | |
const packageJson = JSON.parse(fs.readFileSync(file, 'utf-8')); | |
const packageName = await hashId(packageJson.name, packageJson.version); | |
if (packageJson.dependencies) { | |
for (const dependency in packageJson.dependencies) { | |
if (excludePkgs.find(p => dependency === p)) { | |
continue; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Source: https://community.adobe.com/t5/after-effects-discussions/convert-ae-keyframes-info-to-cubicbezier-points/m-p/6139286#M135604 | |
// Usage: select a layer, then File -> Scripts -> Run Script File... -> select this script | |
var curItem = app.project.activeItem; | |
var selectedLayers = curItem.selectedLayers; | |
var selectedProperties = curItem.selectedProperties; | |
var output=""; | |
if (selectedLayers == 0) { | |
output="Please Select at least one Layer"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Source: https://community.adobe.com/t5/after-effects-discussions/convert-ae-keyframes-info-to-cubicbezier-points/m-p/6139286#M135604 | |
// Usage: select a layer, then File -> Scripts -> Run Script File... -> select this script | |
var curItem = app.project.activeItem; | |
var selectedLayers = curItem.selectedLayers; | |
var selectedProperties = curItem.selectedProperties; | |
var output=""; | |
if (selectedLayers == 0) { | |
output="Please Select at least one Layer"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(function getSelectedLayerType() { | |
/** | |
* Gets the type of a given layer | |
* | |
* @param {Layer} layer Layer to check | |
* @return {string} Layer type | |
*/ | |
function getLayerType(layer) { | |
switch (layer.matchName) { | |
case "ADBE Vector Layer": |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
export function readable<R, E = unknown>( | |
promise: Promise<R>, | |
onSuccess?: (result: R) => void, | |
onError?: (error: E) => void) | |
{ | |
let status = 'pending'; | |
let result: R; | |
const suspender = promise.then(result => { | |
status = 'fulfilled'; | |
onSuccess && onSuccess(result); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function watchExternal(paths: string[]): Plugin { | |
console.log('Watching external paths: ', paths); | |
return { | |
name: 'watch-external', | |
configureServer(server) { | |
// Server is the Vite dev server instance | |
// Start watching external files | |
paths.forEach(path => { | |
if (!fs.existsSync(path)) { | |
console.warn(redBright(`${path}`)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function useArrayCompare<T>(value: T[]) { | |
const ref = useRef<T[]>(value); | |
if (value.length !== ref.current.length ||value.sort().join(',') !== ref.current.join(',')) { | |
ref.current = value; | |
} | |
return ref.current; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const { execSync } = require('child_process'); | |
// Replace the array with the usernames of the developers whose commits you want to fetch | |
const developers = ['developer1', 'developer2', 'developer3']; | |
function getCommitsByDevelopers() { | |
const commits = []; | |
for (const developer of developers) { | |
const gitCommand = `git log --author="${developer}" --pretty=format:"%h"`; | |
const commitHashes = execSync(gitCommand).toString().trim().split('\n'); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
GOOS=windows GOARCH=amd64 go build |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// jonschlinkert/is-object | |
type IsObjectObject<T> = T extends | |
| AnyArray | |
| AnyFunction | |
| boolean | |
| null | |
| number | |
| string | |
| symbol | |
| undefined |
NewerOlder