create-wowo 1.0.2 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.mjs +36 -3
- package/package.json +2 -2
- package/template/.prettierrc +13 -0
- package/template/.vscode/extensions.json +1 -1
- package/template/.vscode/settings.json +5 -1
- package/template/README.md +14 -0
- package/template/app/App.app.js +46 -0
- package/template/package.json +1 -2
- package/template/src/components/{sumatera.js → Sumatera.wilayah.js} +4 -3
- package/template/src/main.js +4 -45
- package/template/src/store/states.js +5 -0
- package/template/src/store/store.js +5 -6
package/index.mjs
CHANGED
|
@@ -58,26 +58,58 @@ const makeDir = (folderName) => {
|
|
|
58
58
|
);
|
|
59
59
|
}
|
|
60
60
|
};
|
|
61
|
+
const gitCode = `
|
|
62
|
+
# Logs
|
|
63
|
+
logs
|
|
64
|
+
*.log
|
|
65
|
+
npm-debug.log*
|
|
66
|
+
|
|
67
|
+
# Dependency directories
|
|
68
|
+
node_modules/
|
|
69
|
+
dist/
|
|
70
|
+
dist-ssr/
|
|
71
|
+
*.local
|
|
72
|
+
|
|
73
|
+
# Editor folders
|
|
74
|
+
.vscode/*
|
|
75
|
+
!.vscode/extensions.json
|
|
76
|
+
!.vscode/settings.json
|
|
77
|
+
.idea/
|
|
78
|
+
.DS_Store
|
|
79
|
+
|
|
80
|
+
# Workspaces
|
|
81
|
+
*.pnp
|
|
82
|
+
*.pnp.js
|
|
83
|
+
|
|
84
|
+
`;
|
|
85
|
+
const makeGitignore = () => {
|
|
86
|
+
const file = path.join(targetDir, ".gitignore");
|
|
87
|
+
fs.writeFileSync(file, gitCode);
|
|
88
|
+
console.log(` ${colors.green}#${colors.reset} Membuat file: .gitignore`);
|
|
89
|
+
};
|
|
61
90
|
|
|
62
91
|
const filesToCopy = [
|
|
63
92
|
"package.json",
|
|
64
93
|
"index.html",
|
|
65
|
-
".gitignore",
|
|
66
94
|
"vite.config.js",
|
|
95
|
+
".prettierrc",
|
|
96
|
+
"README.md",
|
|
67
97
|
"public/robots.txt",
|
|
68
98
|
".vscode/extensions.json",
|
|
69
99
|
".vscode/settings.json",
|
|
70
|
-
"
|
|
100
|
+
"app/App.app.js",
|
|
101
|
+
"src/components/Sumatera.wilayah.js",
|
|
71
102
|
"src/router/router.js",
|
|
72
103
|
"src/router/404.js",
|
|
73
104
|
"src/services/api.js",
|
|
74
105
|
"src/store/store.js",
|
|
106
|
+
"src/store/states.js",
|
|
75
107
|
"src/styles/globals.css",
|
|
76
108
|
"src/main.js",
|
|
77
109
|
];
|
|
78
110
|
|
|
79
111
|
filesToCopy.forEach(copyTemplate);
|
|
80
|
-
|
|
112
|
+
makeGitignore();
|
|
81
113
|
makeDir("src/asset");
|
|
82
114
|
|
|
83
115
|
console.log(`
|
|
@@ -86,6 +118,7 @@ ${colors.green}${colors.bold} ${name} Berhasil dibuat!${colors.reset}
|
|
|
86
118
|
${colors.bold}Langkah selanjutnya:${colors.reset}
|
|
87
119
|
${isCurrentDir ? "" : `${colors.cyan} cd ${name}${colors.reset}\n`}${colors.cyan} npm install
|
|
88
120
|
npm run dev${colors.reset}
|
|
121
|
+
${colors.cyan}atau pakai package manager lain${colors.reset}
|
|
89
122
|
|
|
90
123
|
${colors.bold}Happy coding with Wowojs! :)${colors.reset}
|
|
91
124
|
`);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-wowo",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "membuat framework wowojs otomatis",
|
|
5
5
|
"main": "index.mjs",
|
|
6
6
|
"type": "module",
|
|
@@ -15,6 +15,6 @@
|
|
|
15
15
|
"test": "echo \"Error: no test specified\" && exit 1"
|
|
16
16
|
},
|
|
17
17
|
"keywords": [],
|
|
18
|
-
"author": "",
|
|
18
|
+
"author": "Devied Rahmadsyah",
|
|
19
19
|
"license": "ISC"
|
|
20
20
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"semi": true,
|
|
3
|
+
"singleQuote": false,
|
|
4
|
+
"tabWidth": 2,
|
|
5
|
+
"useTabs": false,
|
|
6
|
+
"trailingComma": "all",
|
|
7
|
+
"printWidth": 100,
|
|
8
|
+
"bracketSpacing": true,
|
|
9
|
+
"arrowParens": "always",
|
|
10
|
+
"endOfLine": "lf",
|
|
11
|
+
"bracketSameLine": false,
|
|
12
|
+
"singleAttributePerLine": true
|
|
13
|
+
}
|
|
@@ -2,5 +2,9 @@
|
|
|
2
2
|
"emmet.includeLanguages": {
|
|
3
3
|
"javascript": "html"
|
|
4
4
|
},
|
|
5
|
-
"editor.formatOnSave": true
|
|
5
|
+
"editor.formatOnSave": true,
|
|
6
|
+
"editor.defaultFormatter": "esbenp.prettier-vscode",
|
|
7
|
+
"prettier.semi": true,
|
|
8
|
+
"prettier.singleQuote": false,
|
|
9
|
+
"prettier.trailingComma": "none"
|
|
6
10
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# {{name}}
|
|
2
|
+
|
|
3
|
+
Selamat! Proyek kamu berhasil dibuat pake **create-wowo** v1.1.0 dan **wowojs** v1.2.1.
|
|
4
|
+
Sekarang kamu punya struktur folder yang over power.
|
|
5
|
+
|
|
6
|
+
## Struktur Folder
|
|
7
|
+
- `app/`: Tempat buat file **Halaman** utama (`.app.js`).
|
|
8
|
+
- `src/components/`: Tempat naruh **Komponen** kamu (`.wilayah.js`).
|
|
9
|
+
- `src/store/`: Pusat kendali ekonomi (State Management).
|
|
10
|
+
- `src/router/`: Router agar gak tersesat.
|
|
11
|
+
- `src/services/` : Interaksi dengan Server.
|
|
12
|
+
- `src/styles`: Styling
|
|
13
|
+
---
|
|
14
|
+
<a href="https://www.npmjs.com/package/wowojs/v/1.2.1">lihat wowojs</a>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { $BuatWilayah } from "wowojs";
|
|
2
|
+
|
|
3
|
+
export default function App() {
|
|
4
|
+
$BuatWilayah({
|
|
5
|
+
namaWilayah: "app",
|
|
6
|
+
isiWilayah: () => {
|
|
7
|
+
return /*html*/ `
|
|
8
|
+
<header>
|
|
9
|
+
<h1>Wowojs</h1>
|
|
10
|
+
</header>
|
|
11
|
+
<wowo-sumatera nama="Wowojs"></wowo-sumatera>
|
|
12
|
+
`;
|
|
13
|
+
},
|
|
14
|
+
style: /*css*/ `
|
|
15
|
+
:host {
|
|
16
|
+
--primary-green: #1e5128;
|
|
17
|
+
--soft-green: #4e944f;
|
|
18
|
+
display: block;
|
|
19
|
+
min-height: 100vh;
|
|
20
|
+
background: linear-gradient(135deg, var(--primary-green) 0%, var(--soft-green) 100%);
|
|
21
|
+
font-family: 'Segoe UI', system-ui, sans-serif;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
header {
|
|
25
|
+
padding: 20px;
|
|
26
|
+
background: rgba(0, 0, 0, 0.2);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
h1 {
|
|
30
|
+
margin: 0;
|
|
31
|
+
color: white;
|
|
32
|
+
font-size: 1.5rem;
|
|
33
|
+
letter-spacing: 2px;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.container {
|
|
37
|
+
display: flex;
|
|
38
|
+
justify-content: center;
|
|
39
|
+
align-items: center;
|
|
40
|
+
padding: 40px 20px;
|
|
41
|
+
min-height: calc(100vh - 120px);
|
|
42
|
+
}
|
|
43
|
+
`,
|
|
44
|
+
});
|
|
45
|
+
return "wowo-app";
|
|
46
|
+
}
|
package/template/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { $BuatWilayah } from "wowojs";
|
|
2
|
-
import store
|
|
2
|
+
import store from "../store/store";
|
|
3
|
+
import { states } from "../store/states";
|
|
3
4
|
|
|
4
|
-
export default function
|
|
5
|
+
export default function Sumatera() {
|
|
5
6
|
$BuatWilayah({
|
|
6
7
|
namaWilayah: "sumatera",
|
|
7
8
|
isiWilayah: ({ nama }) => {
|
|
8
9
|
return /*html*/ `
|
|
9
10
|
<main>
|
|
10
11
|
<h3>Selamat anda telah berhasil menjalankan ${nama}</h3>
|
|
11
|
-
<output>Sawit: ${sawit}</output>
|
|
12
|
+
<output>Sawit: ${states.sawit}</output>
|
|
12
13
|
<nav>
|
|
13
14
|
<button @click="tambah">Tambah</button>
|
|
14
15
|
<button @click="reset">Reset</button>
|
package/template/src/main.js
CHANGED
|
@@ -1,48 +1,7 @@
|
|
|
1
|
-
import { $BangunEkonomi
|
|
1
|
+
import { $BangunEkonomi } from "wowojs";
|
|
2
2
|
import router from "./router/router";
|
|
3
|
-
import sumatera from "./components/sumatera";
|
|
4
3
|
import notFound from "./router/404";
|
|
4
|
+
import App from "../app/App.app";
|
|
5
|
+
import Sumatera from "./components/Sumatera.wilayah";
|
|
5
6
|
|
|
6
|
-
$
|
|
7
|
-
namaWilayah: "app",
|
|
8
|
-
isiWilayah: () => {
|
|
9
|
-
return /*html*/ `
|
|
10
|
-
<header>
|
|
11
|
-
<h1>Wowojs</h1>
|
|
12
|
-
</header>
|
|
13
|
-
<wowo-sumatera nama="Wowojs"></wowo-sumatera>
|
|
14
|
-
`;
|
|
15
|
-
},
|
|
16
|
-
style: /*css*/ `
|
|
17
|
-
:host {
|
|
18
|
-
--primary-green: #1e5128;
|
|
19
|
-
--soft-green: #4e944f;
|
|
20
|
-
display: block;
|
|
21
|
-
min-height: 100vh;
|
|
22
|
-
background: linear-gradient(135deg, var(--primary-green) 0%, var(--soft-green) 100%);
|
|
23
|
-
font-family: 'Segoe UI', system-ui, sans-serif;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
header {
|
|
27
|
-
padding: 20px;
|
|
28
|
-
background: rgba(0, 0, 0, 0.2);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
h1 {
|
|
32
|
-
margin: 0;
|
|
33
|
-
color: white;
|
|
34
|
-
font-size: 1.5rem;
|
|
35
|
-
letter-spacing: 2px;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
.container {
|
|
39
|
-
display: flex;
|
|
40
|
-
justify-content: center;
|
|
41
|
-
align-items: center;
|
|
42
|
-
padding: 40px 20px;
|
|
43
|
-
min-height: calc(100vh - 120px);
|
|
44
|
-
}
|
|
45
|
-
`,
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
$BangunEkonomi([router(), sumatera(), notFound()]);
|
|
7
|
+
$BangunEkonomi([router(), Sumatera(), notFound(), App()]);
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
import { $
|
|
2
|
-
|
|
3
|
-
export let sawit = $antek2("sawit") || $antek2("sawit", 100);
|
|
1
|
+
import { $UrusKeuangan, $antek2 } from "wowojs";
|
|
2
|
+
import { states } from "./states";
|
|
4
3
|
|
|
5
4
|
export default function store(tipe) {
|
|
6
5
|
const reducer = ({ type }) => {
|
|
7
6
|
switch (type) {
|
|
8
7
|
case "TAMBAH":
|
|
9
|
-
return (sawit = $antek2("sawit", (t) => t + 1));
|
|
8
|
+
return (states.sawit = $antek2("sawit", (t) => t + 1));
|
|
10
9
|
case "RESET":
|
|
11
|
-
return (sawit = $antek2("sawit", (r) => (r = 0)));
|
|
10
|
+
return (states.sawit = $antek2("sawit", (r) => (r = 0)));
|
|
12
11
|
case "KURANG":
|
|
13
|
-
return (sawit = $antek2("sawit", (k) => (k > 0 ? k - 1 : 0)));
|
|
12
|
+
return (states.sawit = $antek2("sawit", (k) => (k > 0 ? k - 1 : 0)));
|
|
14
13
|
}
|
|
15
14
|
};
|
|
16
15
|
$UrusKeuangan(reducer, { type: tipe });
|