Skip to content

Instantly share code, notes, and snippets.

I may be slow to respond.

Tomáš Ehrlich tricoder42

I may be slow to respond.
View GitHub Profile
View hammerspoon.lua
local hyper = {"cmd", "alt"}
--Predicate that checks if a window belongs to a screen
function isInScreen(screen, win)
return win:screen() == screen
function focusScreen(screen)
--Get windows within screen, ordered from front to back.
--If no windows exist, bring focus to desktop. Otherwise, set focus on
View NotificationsWrapper.js
function NotificationsHeader({ fetchNotifications, subscribeNotifications }) {
const [notifications, setNotifications] = useState([])
useEffect(() => {
// fetch initial notifications
fetchNotifications().then(notifications => {
// subscribe to new notifications
tricoder42 /
Last active May 29, 2019
Webpack plugin which injects code, module dependency and async context to each chunk

I'm writing a webpack plugin, which should generate message catalogs for each chunk.

I know how to split main message catalog by inspecting modules inside chunk.

In build folder, I have:

tricoder42 /
Last active May 14, 2019
Centralized routing for Next.js

I'm using this approach to have centralized route config in Next.js. I don't have the fully automated solution. Right now I'm writing route configs and links manually to figure out if it works and what are the drawbacks.

I believe the automation is the last step to make it completely seamless.

1. Define routes in centralized config

This is the only file that needs to be wrote manually.

tricoder42 / example.ts
Created Apr 25, 2019
Next.js Route Configs
View example.ts
// I believe this file could be automatically generated. Each route
// could be typechecked that all params are passed into it.
import { projectRoute } from "routes.js"
import { ProjectLink } from "routes.utils.ts"
export const ProjectLink = makeLink(projectRoute)
// Example usage of `ProjectLink` component. It's like regular Link, but it accepts `params`
// which are injected into `` pattern.
tricoder42 / app.js
Last active Oct 19, 2018 — forked from NgesBrian/app.js
error message is this.props.language is undefined
View app.js
import React, { Component } from 'react';
import './App.css';
import { connect } from 'react-redux';
import Main from './Main/Main.js';
import FooterPage from './Footer/Footer.js';
import { I18nProvider } from '@lingui/react'
class App extends Component {
  1. Query projectIssue is resolved with an object "IssueType:18"
  2. Mutation issueEdit is called and returns the same object with updated attachments
  3. Object "IssueType:18" is updated correctly in cache (checked in Apollo DevTool and also manually by store.readFragment)
  4. Query projectIssue reloaded from cache automatically, but this this it doesn't return object

In Apollo DevTool I see this field in root query: issue({"issueId":"18","project":"IEP001"}): IssueType:18. I believe the query should be updated when object IssueType:18 in cache is updated, but when it happens, the object is empty.

tricoder42 / deprecate.js
Created Aug 25, 2018
Deprecate renamed packages on NPM and update their READMEs
View deprecate.js
Usage: node ./deprecate.js OTP_TOKEN
OTP_TOKEN is used for 2FA
const path = require("path")
const fs = require("fs-extra")
const { exec } = require("child_process")
View headless.js
const flip = () => ({
flipResults: Math.random()
// creation of headlesscomponent
class CoinFlip extends React.Component {
state = flip()
handleClick = () => this.setState(flip)
api() {

GraphQL example

Graphene Tutorial

Example of authentication mutations and user queries in GraphQL API.

You can’t perform that action at this time.