This file contains hidden or 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 { createExoticTransformer } = require("@expo/metro-config/transformer"); | |
module.exports = createExoticTransformer({ | |
// Add realm packages to the list of modules to transpile locally. | |
transpileModules: ["@realm/", "realm"], | |
}); |
This file contains hidden or 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
// example vite.config.js | |
import { cdn } from './vite-plugin-cdn' | |
export default { | |
plugins: [ | |
// also supported: esm.run, jspm | |
// loads the dep over the CDN during dev | |
// auto downloads and includes into the bundle during build | |
cdn('skypack', { | |
vue: '^3.0.5' |
This file contains hidden or 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
/* | |
* Change from https://gist.github.com/unki2aut/4ac81c33be2e8f121e80a26eba1735d7 | |
* - Use top level await (Node.js v14.8.0+) | |
* - To use top level await, you need to write a script as ES Modules | |
* - Set chokidar options to avoid duplicate building | |
* - Define NODE_ENV (For React) | |
* - Add API proxy setting by using proxy-middleware | |
*/ | |
import chokidar from "chokidar"; | |
import esbuild from "esbuild"; |
This file contains hidden or 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
// when T is any|unknown, Y is returned, otherwise N | |
type IsAnyUnknown<T, Y, N> = unknown extends T ? Y : N; | |
// when T is never, Y is returned, otherwise N | |
type IsNever<T, Y = true, N = false> = [T] extends [never] ? Y : N; | |
// when T is a tuple, Y is returned, otherwise N | |
// valid tuples = [string], [string, boolean], | |
// invalid tuples = [], string[], (string | number)[] |
This file contains hidden or 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 fs = require("fs"); | |
const bundle = fs.readFileSync("path-to-webpack-bundle.html", "utf8"); | |
const escaped = JSON.stringify(bundle); | |
const js = `export default ${escaped}`; | |
fs.writeFileSync("javascript-output-file.ts", js); |
This file contains hidden or 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
import React, { useMemo, useContext, createContext } from "react" | |
import { useImmer } from "use-immer" | |
const initialState = { | |
count: 0 | |
} | |
function makeStore() { | |
const Context = createContext() |
This file contains hidden or 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
import React, { | |
useContext, | |
createContext, | |
createElement, | |
useEffect, | |
useRef, | |
useCallback, | |
useState, | |
} from 'react'; | |
import isEqual from 'react-fast-compare'; |
This file contains hidden or 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
// babel.config.js | |
module.exports = { | |
"presets": [ | |
"module:metro-react-native-babel-preset", | |
], | |
"plugins": [ | |
["module-resolver", { | |
"root": ["./src"], | |
"extensions": [".js", ".ts", ".tsx", ".ios.js", ".android.js"] | |
}], |
This file contains hidden or 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
// tslint:disable:max-classes-per-file | |
declare module 'react-native-paper' { | |
import { Component, ReactNode } from 'react'; | |
import { | |
StyleProp, | |
TextProps, | |
TextStyle, | |
TouchableHighlightProps, | |
TouchableNativeFeedbackProps, | |
ViewProps, |
NewerOlder