Feel free to contact me at robert.balicki@gmail.com or tweet at me @statisticsftw
This is a rough outline of how we utilize next.js and S3/Cloudfront. Hope it helps!
It assumes some knowledge of AWS.
#!/bin/bash | |
# | |
# npm install all required packages | |
# example usage | |
# | |
# ./install-required-packages.sh gulpfile.sh --save-dev | |
# ./install-required-packages.sh gulpfile.sh --save | |
# ./install-required-packages.sh gulpfile.sh | |
# | |
# TODO: this matches require's that are commented out. Fix. |
replacejs() { | |
FOLDER_NAME=$(basename $1 | sed 's/\.js\(x\)\{0,1\}$//') | |
FOLDER=$(dirname $1)/$FOLDER_NAME | |
SUFFIX=$(basename $1 | sed 's/.*\.//') | |
mkdir $FOLDER | |
mv $1 $FOLDER/index.$SUFFIX | |
} | |
Feel free to contact me at robert.balicki@gmail.com or tweet at me @statisticsftw
This is a rough outline of how we utilize next.js and S3/Cloudfront. Hope it helps!
It assumes some knowledge of AWS.
// this is the top-level rollup config | |
// | |
// each child rollup config *must* use full paths, e.g. | |
// const DESTINATION_FILE = path.join(__dirname, '..', 'lib/index.js'); | |
// const INPUT_FILE = path.join(__dirname, '..', 'src/index.js'); | |
const requireGlob = require('require-glob'); | |
const path = require('path'); | |
const _ = require('lodash'); |
use quote::{Tokens, ToTokens}; | |
use proc_macro2::{Term, Span, Group, Delimiter, TokenStream}; | |
pub struct QuoteOption<T>(pub Option<T>); | |
impl<T> ToTokens for QuoteOption<T> | |
where T: ToTokens | |
{ | |
fn to_tokens(&self, tokens: &mut Tokens) { | |
// tokens.append(Term::new("{", Span::call_site())); |
import { Component } from 'react'; | |
import PropTypes from 'prop-types'; | |
/** | |
* Resolve | |
* | |
* This is the workhorse of how Jetty does async. | |
* It accepts a promise, and renders one of four render props: | |
* - before | |
* - pending |
import { Component } from 'react'; | |
import PropTypes from 'prop-types'; | |
/** | |
* Resolve | |
* | |
* This is the workhorse of how Jetty does async. | |
* It accepts a promise, and renders one of four render props: | |
* - before | |
* - pending |
// the following two are equivalent: | |
// First | |
let my_app = smd!( | |
on_hash_change={on_hash_change_callback}; | |
post_render={post_render_callback}; | |
// comments can go anywhere | |
{ interpolated_item } | |
<div | |
ref={&mut my_ref} |
import React from 'react'; | |
import { Form } from 'react-final-form'; | |
export default ({ render, transform, ...rest })=> <Form | |
{...rest} | |
render={({ values, ...renderPropsRest }) => render({ values: transform(values), ...renderPropsRest })} | |
/>; | |
// the function passed to transform is x => MyModelSubclass.getFromCache(x) |
match & *unwrapped_promise.borrow() { | |
smithy::types::PromiseState::Success(val) => { | |
let val = val.clone(); | |
smd!({ &mut val }) | |
}, | |
// ... | |
} |