├── .gitignore ├── assets ├── js │ ├── hyper │ │ ├── state │ │ │ └── globalState.js │ │ ├── actions │ │ │ └── actions.js │ │ ├── index.js │ │ └── components │ │ │ └── App.js │ ├── main.js │ └── components │ │ ├── svelte │ │ ├── SvelteApp.js │ │ ├── Header.svelte │ │ └── App.svelte │ │ └── FirstComp.js ├── img │ └── logo.png ├── views │ ├── svelte.pug │ ├── index.pug │ ├── second │ │ ├── index.pug │ │ ├── third.pug │ │ ├── index.edge │ │ └── third.edge │ ├── layouts │ │ ├── app.pug │ │ └── app.edge │ └── index.edge └── scss │ ├── styles.scss │ └── _reset.scss ├── postcss.config.js ├── public ├── img │ └── logo.png ├── svelte │ └── index.html ├── second │ ├── index.html │ └── third │ │ └── index.html ├── index.html ├── css │ └── styles.css └── js │ └── dist │ ├── main.js │ ├── FirstComp.js │ ├── hyper.js │ ├── vendors~hyper.js │ ├── SApp.js │ └── vendors~SApp.js ├── .prettierrc ├── .babelrc ├── webpack.config.js ├── package.json ├── README.md └── gulpfile.js /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /assets/js/hyper/state/globalState.js: -------------------------------------------------------------------------------- 1 | export const globalState = { 2 | count: 0 3 | }; 4 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: [ 3 | require('autoprefixer') 4 | ] 5 | } -------------------------------------------------------------------------------- /assets/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingphasedotcom/hyperapp-starterkit/HEAD/assets/img/logo.png -------------------------------------------------------------------------------- /assets/js/main.js: -------------------------------------------------------------------------------- 1 | class Test { 2 | main = () => { 3 | console.log(swag); 4 | }; 5 | } 6 | Test.main(); 7 | -------------------------------------------------------------------------------- /public/img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/codingphasedotcom/hyperapp-starterkit/HEAD/public/img/logo.png -------------------------------------------------------------------------------- /assets/views/svelte.pug: -------------------------------------------------------------------------------- 1 | extends layouts/app 2 | 3 | block content 4 | #app 5 | script(src='/js/dist/vendors~SApp.js') 6 | script(src='/js/dist/SApp.js') 7 | -------------------------------------------------------------------------------- /assets/views/index.pug: -------------------------------------------------------------------------------- 1 | extends layouts/app 2 | 3 | block content 4 | #app 5 | script(src='/js/dist/vendors~FirstComp.js') 6 | script(src='/js/dist/FirstComp.js') -------------------------------------------------------------------------------- /assets/js/components/svelte/SvelteApp.js: -------------------------------------------------------------------------------- 1 | import App from './App.svelte'; 2 | const app = new App({ 3 | target: document.getElementById('app'), 4 | props: { 5 | name: 'blue' 6 | } 7 | }); 8 | export default app; 9 | -------------------------------------------------------------------------------- /assets/views/second/index.pug: -------------------------------------------------------------------------------- 1 | extends ../layouts/app.pug 2 | 3 | block content 4 | #app 5 | .home 6 | .Aligner 7 | .Aligner-item 8 | img(src='/img/logo.png') 9 | h1 Second with Pug -------------------------------------------------------------------------------- /assets/views/second/third.pug: -------------------------------------------------------------------------------- 1 | extends ../layouts/app.pug 2 | 3 | block content 4 | #app 5 | .home 6 | .Aligner 7 | .Aligner-item 8 | img(src='/img/logo.png') 9 | h1 Third with Pug -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "printWidth": 80, 4 | "tabWidth": 2, 5 | "singleQuote": true, 6 | "trailingComma": "none", 7 | "jsxBracketSameLine": false, 8 | "parser": "babylon", 9 | "noSemi": true, 10 | "rcVerbose": true 11 | } -------------------------------------------------------------------------------- /assets/js/components/svelte/Header.svelte: -------------------------------------------------------------------------------- 1 | 2 | 13 | 14 | 17 | -------------------------------------------------------------------------------- /assets/views/second/index.edge: -------------------------------------------------------------------------------- 1 | @layout('./layouts/app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |

Second with edge

9 | 10 |
11 |
12 |
13 |
14 | @endsection -------------------------------------------------------------------------------- /assets/views/second/third.edge: -------------------------------------------------------------------------------- 1 | @layout('./layouts/app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |

Third with edge

9 | 10 |
11 |
12 |
13 |
14 | @endsection -------------------------------------------------------------------------------- /assets/js/hyper/actions/actions.js: -------------------------------------------------------------------------------- 1 | export const actions = { 2 | up, 3 | intro, 4 | showMenu 5 | }; 6 | 7 | function up(state, actions) { 8 | return { count: state.count + 1 }; 9 | } 10 | 11 | function showMenu() {} 12 | 13 | function intro(state, actions) { 14 | console.log('Just ran my first action'); 15 | return { count: state.count + 1 }; 16 | } 17 | -------------------------------------------------------------------------------- /assets/views/layouts/app.pug: -------------------------------------------------------------------------------- 1 | doctype html 2 | html 3 | head 4 | meta(charset='utf-8') 5 | title CodingPhase Starter Kit 6 | meta(name='viewport', content='width=device-width, initial-scale=1') 7 | link(rel='stylesheet', href='/css/styles.css') 8 | script(async='', defer='', src='https://buttons.github.io/buttons.js') 9 | body 10 | block content -------------------------------------------------------------------------------- /public/svelte/index.html: -------------------------------------------------------------------------------- 1 | CodingPhase Starter Kit
-------------------------------------------------------------------------------- /public/second/index.html: -------------------------------------------------------------------------------- 1 | CodingPhase Starter Kit

Second with Pug

-------------------------------------------------------------------------------- /public/second/third/index.html: -------------------------------------------------------------------------------- 1 | CodingPhase Starter Kit

Third with Pug

-------------------------------------------------------------------------------- /assets/views/layouts/app.edge: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CodingPhase Starter Kit 6 | 7 | 8 | 9 | 10 | 11 | 12 | @!section('content') 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | CodingPhase Starter Kit 7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /assets/js/hyper/index.js: -------------------------------------------------------------------------------- 1 | import { h, app } from 'hyperapp'; 2 | import { actions } from './actions/actions.js'; 3 | import { globalState } from './state/globalState.js'; 4 | import App from './components/App.js'; 5 | 6 | app({ 7 | state: { globalState }, 8 | view: (state, actions) => , 9 | root: document.getElementById('app'), 10 | actions, 11 | events: { 12 | action(state, actions, { name, data }) { 13 | console.group('Action Info'); 14 | console.log('Name:', name); 15 | console.log('Data:', data); 16 | console.groupEnd(); 17 | }, 18 | load(state, actions) { 19 | actions.intro(); 20 | } 21 | } 22 | }); 23 | -------------------------------------------------------------------------------- /assets/views/index.edge: -------------------------------------------------------------------------------- 1 | @layout('layouts/app') 2 | 3 | @section('content') 4 |
5 |
6 |
7 |
8 |

Dev-Starter-Kit

9 | 15 |
version 4.0.0

16 |
17 |
18 |
19 |
20 | @endsection -------------------------------------------------------------------------------- /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | 4 | ["@babel/env", 5 | { 6 | "targets": { 7 | "edge": "17", 8 | "firefox": "60", 9 | "chrome": "67", 10 | "safari": "11.1" 11 | } 12 | } 13 | ], 14 | "@babel/preset-react" 15 | ], 16 | "plugins": [ 17 | [ 18 | "transform-react-jsx", 19 | { 20 | "pragma": "h" 21 | } 22 | ], 23 | ["@babel/plugin-proposal-decorators", { 24 | "legacy": true 25 | }], 26 | ["@babel/plugin-proposal-class-properties", { 27 | "loose": true 28 | }], 29 | "@babel/plugin-syntax-dynamic-import", 30 | "@babel/plugin-transform-async-to-generator" 31 | ] 32 | } -------------------------------------------------------------------------------- /assets/js/hyper/components/App.js: -------------------------------------------------------------------------------- 1 | import { h, app } from 'hyperapp'; 2 | 3 | export default function App({ state, actions }) { 4 | return ( 5 |
6 |
7 |

Hyperapp Starter Kit

8 | 9 | {' '} 10 | by CodingPhase.com 11 | 12 |
13 |
14 | 21 | Star 22 | 23 |
24 |
25 | ); 26 | } 27 | //
28 | //