Feel free to contact me at [email protected] 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 [email protected] 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 }) | |
| }, | |
| // ... | |
| } |