Skip to content

Instantly share code, notes, and snippets.

babel-plugin-encapsulate-jsx

TLDR; A babel plugin to namespace your components to package/version combinations. There is an associated css plugin.

why

At Craftsy, we use a monorepo: each React component is in it's own npm package.

@donabrams
donabrams / SUCESS.rs
Last active December 22, 2015 18:06 — forked from anonymous/playground.rs
Shared via Rust Playground
fn main() {
let mut p = get_mut();
while let Some(x) = p.pop() {
print!("{} ", x);
}
println!("");
}
fn get_mut<'s>() -> Vec<i16> {
@donabrams
donabrams / SUCESS.rs
Last active December 22, 2015 18:12 — forked from anonymous/playground.rs
Shared via Rust Playground
use std::io;
use std::io::prelude::*;
use std::io::BufReader;
use std::fs::File;
fn main(){
match get_line_vec("yay.txt") {
Ok(vec) => {
let mut mut_vec = vec;
let a = mut_vec.pop().unwrap();
@donabrams
donabrams / playground.rs
Created December 22, 2015 16:55 — forked from anonymous/playground.rs
Shared via Rust Playground
use std::collections::HashMap;
use std::io;
use std::io::prelude::*;
use std::io::BufReader;
use std::fs::File;
use std::error::Error;
use std::mem;
use std::str;
type Something = HashMap<String, String>;
@donabrams
donabrams / playground.rs
Last active December 22, 2015 16:33 — forked from anonymous/playground.rs
Shared via Rust Playground
use std::collections::HashMap;
use std::io;
use std::io::prelude::*;
use std::io::BufReader;
use std::fs::File;
use std::error::Error;
use std::mem;
use std::str;
type Something<'a> = HashMap<&'a str, &'a str>;
@donabrams
donabrams / todoExample.jsx
Last active October 4, 2015 19:10
Ember TodoMVC quasi port to React
// This Page Component would normally be auto-generated from a template
class TodoPage extends Component {
render() {
let bootstrap = `
var Todos = require('Todos');
// really, we use redux for injecting/setting up initialProps and tying in action handlers
var element = React.createElement(Todos, {});
React.render(element, getElementById('app'));
`;
@donabrams
donabrams / findDependencies.js
Created September 17, 2015 21:00
List all dependencies for given entry points
var detective = require('detective');
var fs = require('fs');
var _ = require('lodash');
var path = require('path');
var resolve = require('resolve');
var toProcess = [{name: './index.js', basedir: __dirname}];
var entries = {};
while (toProcess.length) {
"dependencies": {
"body-parser": "^1.13.2",
"connect": "^3.4.0",
"cookie": "^0.1.3",
"jsonwebtoken": "^5.0.4",
"minimist": "^1.1.1",
"morgan": "^1.6.1",
"napoleon": "^2.0.1",
"react": "^0.13.3",
npm verb stack at encodeFields (/Users/don.abrams/.nvm/versions/io.js/v2.3.3/lib/node_modules/npm/node_modules/tar/lib/extended-header-writer.js:98:23)
npm verb stack at /Users/don.abrams/.nvm/versions/io.js/v2.3.3/lib/node_modules/npm/node_modules/tar/lib/extended-header-writer.js:137:32
npm verb stack at Array.forEach (native)
npm verb stack at encodeFields (/Users/don.abrams/.nvm/versions/io.js/v2.3.3/lib/node_modules/npm/node_modules/tar/lib/extended-header-writer.js:98:23)
npm verb stack at /Users/don.abrams/.nvm/versions/io.js/v2.3.3/lib/node_modules/npm/node_modules/tar/lib/extended-header-writer.js:137:32
npm verb stack at Array.forEach (native)
npm verb stack at encodeFields (/Users/don.abrams/.nvm/versions/io.js/v2.3.3/lib/node_modules/npm/node_modules/tar/lib/extended-header-writer.js:98:23)
npm verb stack at /Users/don.abrams/.nvm/versions/io.js/v2.3.3/lib/node_modules/npm/node_modules/tar/lib/extended-header-writer.js:137:32
npm verb stack at Array.forEach (nat
@donabrams
donabrams / example.js
Created July 28, 2015 19:43
Problem with babel-eslint and/or escope?
import * as escope from 'escope';
import babelEslint from 'babel-eslint';
let ast = babelEslint.parse('let a = <div/>;', {
loc: true,
range: true,
raw: true,
tokens: true,
comment: true,
attachComment: true,