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 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
- "src/components/sumatera.js",
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.2",
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
+ }
@@ -1,3 +1,3 @@
1
1
  {
2
- "recommendations": ["pushqrdx.inline-html", "dbaeumer.vscode-eslint"]
2
+ "recommendations": ["pushqrdx.inline-html", "esbenp.prettier-vscode"]
3
3
  }
@@ -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
+ }
@@ -2,9 +2,8 @@
2
2
  "name": "{{name}}",
3
3
  "version": "1.0.0",
4
4
  "description": "",
5
- "main": "vite.config.js",
5
+ "main": "src/main.js",
6
6
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1",
8
7
  "dev": "vite",
9
8
  "build": "vite build",
10
9
  "preview": "vite preview"
@@ -1,14 +1,15 @@
1
1
  import { $BuatWilayah } from "wowojs";
2
- import store, { sawit } from "../store/store";
2
+ import store from "../store/store";
3
+ import { states } from "../store/states";
3
4
 
4
- export default function sumatera() {
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>
@@ -1,48 +1,7 @@
1
- import { $BangunEkonomi, $BuatWilayah } from "wowojs";
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
- $BuatWilayah({
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()]);
@@ -0,0 +1,5 @@
1
+ import { $antek2 } from "wowojs";
2
+
3
+ export let states = {
4
+ sawit: $antek2("sawit") || $antek2("sawit", 100),
5
+ };
@@ -1,16 +1,15 @@
1
- import { $antek2, $UrusKeuangan } from "wowojs";
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 });