Skip to content

Instantly share code, notes, and snippets.

View mp5maker's full-sized avatar
💻
Focusing

Photon Khan mp5maker

💻
Focusing
View GitHub Profile
@mp5maker
mp5maker / App.tsx
Created December 21, 2020 03:19
expo-app/App.tsx
import { StatusBar } from 'expo-status-bar';
import React from 'react';
import { StyleSheet, Text, View } from 'react-native';
import { adder } from '@web/utilities/adder'
export default function App() {
console.log(adder(1, 2)) // 3
return (
@mp5maker
mp5maker / adder.tsx
Created December 21, 2020 03:17
src/utilities/adder.tsx
export const adder = (value1: number, value2: number): number => value1 + value2
@mp5maker
mp5maker / tsconfig.json
Created December 20, 2020 10:17
Typescript for the sharing the web app to expo app
{
"compilerOptions": {
"allowSyntheticDefaultImports": true,
"jsx": "react-native",
"lib": ["dom", "esnext"],
"moduleResolution": "node",
"noEmit": true,
"skipLibCheck": true,
"resolveJsonModule": true,
"strict": true,
@mp5maker
mp5maker / babel.config.js
Created December 20, 2020 10:12
Babel Configuration for the Expo App
const path = require("path");
const paths = {
"@web": path.join(__dirname, "..", "web-app/src"),
};
module.exports = function (api) {
api.cache(true);
return {
presets: ["babel-preset-expo"],
plugins: [
@mp5maker
mp5maker / metro.config.js
Created December 20, 2020 10:04
Expo App (Metro Configuration for sharing code with the web app)
const path = require("path");
const extraNodeModules = {
"@web": path.join(__dirname, "..", "weba-app/src"),
};
const watchFolders = [path.join(__dirname, "..", "web-app/src")];
module.exports = {
transformer: {
@mp5maker
mp5maker / person.js
Last active December 20, 2020 10:25
Simple Person Object
const person = {
name: "John Doe",
age: 49
}
const handler = {
get: function(target, props, receiver) {
console.log(target) // eg: { name: "John Doe", age: 49 }
console.log(props) // eg: name
console.log(receiver) // eg: Proxy { name: "John Doe", age: 49 }
@mp5maker
mp5maker / folderacls.xml
Last active December 5, 2020 10:13
folder acl for the vtecx pwa app
<?xml version="1.0" encoding="UTF-8" ?>
<feed>
<entry>
<contributor>
<uri>urn:vte.cx:acl:/_group/$admin,CRUD</uri>
</contributor>
<contributor>
<!-- ACL settings that allow all users to get(*) -->
<uri>urn:vte.cx:acl:*,R.</uri>
</contributor>
@mp5maker
mp5maker / deploy.sh
Created December 5, 2020 10:00
Deploy for vtecx app
#!/bin/sh
npx vtecxutil upload
npx webpack --env.entry=/components/index.tsx --mode=production --env.externals=true
npx webpack --env.entry=/components/login.tsx --mode=production --env.externals=true
npx webpack --env.entry=/components/change_password.tsx --mode=production --env.externals=true
npx webpack --env.entry=/components/complete_registration.tsx --mode=production --env.externals=true
npx webpack --env.entry=/components/forgot_password.tsx --mode=production --env.externals=true
npx webpack --env.entry=/components/login.tsx --mode=production --env.externals=true
npx webpack --env.entry=/components/signup.tsx --mode=production --env.externals=true
npx webpack --env.entry=/components/user_terms.tsx --mode=production --env.externals=true
@mp5maker
mp5maker / sw.js
Created December 5, 2020 09:46
vtecx sw.js
const CACHE_LIST = [
"/",
"/index.html",
"https://unpkg.com/[email protected]/umd/react.production.min.js",
"https://unpkg.com/[email protected]/umd/react-dom.production.min.js",
"https://unpkg.com/axios/dist/axios.min.js",
"components/index.js"
];
const STATIC_CACHE_VERSION = `static-v1-${new Date().getTime()}`
@mp5maker
mp5maker / manifest.json
Created December 5, 2020 09:41
Vtecx app Manifest
{
"short_name": "PWA",
"name": "Progressive Web App",
"lang": "en",
"background_color": "#343a40",
"theme_color": "#343a40",
"display": "standalone",
"scope": "/",
"start_url": "/",
"icons": [