├── .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 |
25 | );
26 | }
27 | //
28 | //