Skip to content

Instantly share code, notes, and snippets.

View trulysinclair's full-sized avatar
🏗️
Shaping my dreams into a digital form

Sinclair trulysinclair

🏗️
Shaping my dreams into a digital form
View GitHub Profile
@trulysinclair
trulysinclair / index.html
Created September 21, 2024 20:01
Bind BrowserView to ResizeObserver output
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<!-- https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP -->
<!-- <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'"> -->
<title>Hello World!</title>
<script src="https://cdn.tailwindcss.com"></script>
</head>
@trulysinclair
trulysinclair / index.html
Last active September 9, 2024 19:29
Super simple drag and drop
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Hello World!</title>
<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline';" />
<link rel="stylesheet" href="style.css" />
</head>
@trulysinclair
trulysinclair / electron.vite.config.ts
Created August 30, 2024 20:09
An electron-vite config which covers: multi-window, TanStack Router, generating a product.json, and using Prisma for an internal SQLite3 database. It's not clean, but it works.
import typescript from "@rollup/plugin-typescript";
import {TanStackRouterVite} from "@tanstack/router-plugin/vite";
import react from "@vitejs/plugin-react";
import {defineConfig, externalizeDepsPlugin} from "electron-vite";
import {existsSync} from "fs";
import {mkdir, rm, writeFile} from "fs/promises";
import {copyFile} from "node:fs/promises";
import {resolve} from "path";
import {IProduct} from "./src/platform/product/common/product-service.interface.js";
@trulysinclair
trulysinclair / from_xml.ts
Last active July 10, 2024 22:45
Convert xml2js output into badgerfish convention
import { toBadgerfish } from '#util/badgerfish/to_badgerfish'
import { JsonObject } from '#util/badgerfish/types'
import { Parser } from 'xml2js'
/**
* Convert XML to Badgerfish JSON convention
* @param {string} xml
* @returns {Promise<JsonObject>}
*/
export async function fromXml(xml: string) {
@trulysinclair
trulysinclair / transfer.ps1
Last active August 2, 2024 19:48
transfer-bulk-issues.ps1
$issues = gh issue list -s all -L 500 --json number | ConvertFrom-Json
foreach ($issue in $issues) {
$issueNumber = $issue.number
gh issue transfer $issueNumber https://github.com/<your-org>/<your-repo>
}
@trulysinclair
trulysinclair / monorepo.dprint.json
Last active June 28, 2023 18:30
Dprint Configuration
{
"typescript": {
"ifStatement.useBraces": "preferNone",
"newLineKind": "lf",
"preferHanging": true,
"singleBodyPosition": "nextLine",
"useBraces": "preferNone",
"bracePosition": "sameLineUnlessHanging",
"arrowFunction.useParentheses": "force",
"arguments.preferHanging": "always",
@trulysinclair
trulysinclair / autotyper-1.0
Created June 25, 2023 03:43
Simple cheat for typing tests.
// Get the parent element by its class names
const parentElement = document.querySelector('.css-1rw37je.eu4oa1w0');
// Check if the parent element exists
if (parentElement) {
// Get all the child spans of the parent element
const childSpans = parentElement.querySelectorAll('span');
// Create an array to store the words
const wordsArray = [];
// ~/.noderalis.ts
import { ProjectConfiguration } from '@noderalis/core';
import { CleanWebpackPlugin } from 'clean-webpack-plugin';
console.log('Success!!!');
ProjectConfiguration.create({
builds: [
{
entry: async () => ProjectConfiguration.workspace('@noderalis/cli'), // C:\...\noderalis\packages\noderalis-cli\sources\index.ts
// ~/packages/noderalis-core/sources/ProjectConfiguration.ts
import { createRequire, createRequireFromPath } from 'module';
require(path.resolve(__dirname, `../../../.pnp.js`)).setup();
const requireAbs = (createRequire || createRequireFromPath)(
path.resolve(__dirname, './ProjectConfiguration.js')
);
async function requireConfig() {
const rootDir = await this.findProjectCwd(process.cwd(), true);
import { Cli } from 'clipanion';
import { Readable, Writable } from 'stream';
import { readdirSync } from 'fs';
import { join } from 'path';
export type CommandContext = {
cwd: string;
quiet: boolean;
stdin: Readable;
stdout: Writable;