A plugin to make authoring with MUI components efficient, both for humans and bundlers.
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 cloneDeep = require("clone-deep"); | |
const { readFileSync, existsSync } = require("fs"); | |
const path = require("path"); | |
// next-less (official plugin to integrate Less) is now | |
// deprecated so we have to provide our own solution. | |
// | |
// Next.js already provides built-in integration with CSS and Sass, but it | |
// relies on a dynamic WebPack config. generation to do it optimally. | |
// |
o you've contributed some code to an open source project, say, Rails. And they'd like you to squash all of the commits in your pull request. But you're not a git wizard; how do you make this happen?
Normally, you'd do something like this. I'm assuming upstream is a git remote that is pointing at the official project repository, and that your changes are in your 'omgpull' branch:
Go to the egghead website, i.e. Building a React.js App
run
$.each($('h4 a'), function(index, video){
console.log(video.href);
});
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 class EnumSymbol { | |
sym = Symbol.for(name); | |
value: number; | |
description: string; | |
constructor(name: string, {value, description}) { | |
if(!Object.is(value, undefined)) this.value = value; | |
if(description) this.description = description; |
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
# Usage: | |
# 1. Drop this file into lib/capistrano/remote_cache_with_project_root_strategy.rb | |
# 2. Add the following to your Capfile: | |
# require 'capistrano/git' | |
# require './lib/capistrano/remote_cache_with_project_root_strategy' | |
# 3. Add the following to your config/deploy.rb | |
# set :git_strategy, RemoteCacheWithProjectRootStrategy | |
# set :project_root, 'subdir/path' | |
# Define a new SCM strategy, so we can deploy only a subdirectory of our repo. |
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
To set up iTerm 2 so you can open files referenced in a Node stack trace directly in Sublime: | |
1. Go to Preferences->Advanced | |
2. Under "Smart Selection", click the "EDIT" button | |
3. Click the + to add a new rule | |
4. For the Regular expression, user ^\s*at.*\((.+)\) | |
5. For priority, choose Very High | |
6. Click "Edit Actions" | |
7. Click the + to add a new action | |
8. Title "Open in Sublime" |
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
#!/bin/bash | |
# | |
# git-mv-with-history -- move/rename file or folder, with history. | |
# | |
# Moving a file in git doesn't track history, so the purpose of this | |
# utility is best explained from the kernel wiki: | |
# | |
# Git has a rename command git mv, but that is just for convenience. | |
# The effect is indistinguishable from removing the file and adding another | |
# with different name and the same content. |
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::property = (prop, desc) -> | |
Object.defineProperty @prototype, prop, desc | |
class Person | |
constructor: (@firstName, @lastName) -> | |
@property 'fullName', | |
get: -> "#{@firstName} #{@lastName}" | |
set: (name) -> [@firstName, @lastName] = name.split ' ' | |
p = new Person 'Leroy', 'Jenkins' |
NewerOlder