@kvihaugen/create-frontend-app 1.0.5 → 1.1.1

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/dist/index.js CHANGED
@@ -6,28 +6,88 @@ import path from "node:path";
6
6
  import { execSync } from "node:child_process";
7
7
  const cwd = process.cwd();
8
8
  (async () => {
9
- console.log("🔃 Creating frontend app...");
10
- const emitter = degit("LarsSK06/frontend-template");
9
+ console.log("🚀 Creating frontend app...\n");
11
10
  const tempFolderPath = path.join(os.tmpdir(), `${Date.now()}-create-frontend-app`);
12
- await emitter.clone(tempFolderPath);
13
- execSync("npx create-next-app . --yes --empty --skip-install");
14
- for (const objName of [
15
- "src",
16
- "public",
17
- "postcss.config.mjs",
18
- "next.config.ts"
19
- ]) {
20
- const absoluteCwdPath = path.join(cwd, objName);
21
- const absoluteTempFolderPath = path.join(tempFolderPath, objName);
22
- if (fs.existsSync(absoluteCwdPath)) {
23
- const stat = fs.statSync(absoluteCwdPath);
11
+ {
12
+ console.log("\t- 🔃 Generating Next.js app...");
13
+ const emitter = degit("LarsSK06/frontend-template");
14
+ await emitter.clone(tempFolderPath);
15
+ execSync("npx create-next-app . --yes --empty --skip-install");
16
+ console.log("\t ✅ Generated Next.js app!\n");
17
+ }
18
+ {
19
+ console.log("\t- 🔃 Cloning files from template...");
20
+ for (const objName of [
21
+ "src",
22
+ "public",
23
+ "postcss.config.mjs",
24
+ "next.config.ts"
25
+ ]) {
26
+ const absoluteCwdPath = path.join(cwd, objName);
27
+ const absoluteTempFolderPath = path.join(tempFolderPath, objName);
28
+ if (fs.existsSync(absoluteCwdPath)) {
29
+ const stat = fs.statSync(absoluteCwdPath);
30
+ if (stat.isFile())
31
+ fs.unlinkSync(absoluteCwdPath);
32
+ else
33
+ fs.rmSync(absoluteCwdPath, { recursive: true, force: true });
34
+ }
35
+ fs.cpSync(absoluteTempFolderPath, absoluteCwdPath, { recursive: true });
36
+ }
37
+ console.log("\t ✅ Cloned files from template!\n");
38
+ }
39
+ {
40
+ console.log("\t- 🔃 Formatting files...");
41
+ for (const fileName of [
42
+ "package.json",
43
+ "package-lock.json",
44
+ "tsconfig.json"
45
+ ]) {
46
+ const absolutePath = path.join(cwd, fileName);
47
+ if (!fs.existsSync(absolutePath))
48
+ continue;
49
+ const fileContent = fs.readFileSync(absolutePath).toString();
50
+ fs.writeFileSync(absolutePath, JSON.stringify(JSON.parse(fileContent), null, 4));
51
+ }
52
+ console.log("\t ✅ Formatted files!\n");
53
+ }
54
+ {
55
+ console.log("\t- 🔃 Deleting unnecessary files...");
56
+ for (const objName of [
57
+ "README.md"
58
+ ]) {
59
+ const absolutePath = path.join(cwd, objName);
60
+ if (!fs.existsSync(absolutePath))
61
+ continue;
62
+ const stat = fs.statSync(absolutePath);
24
63
  if (stat.isFile())
25
- fs.unlinkSync(absoluteCwdPath);
64
+ fs.unlinkSync(absolutePath);
26
65
  else
27
- fs.rmSync(absoluteCwdPath, { recursive: true, force: true });
66
+ fs.rmSync(absolutePath, { recursive: true, force: true });
28
67
  }
29
- fs.cpSync(absoluteTempFolderPath, absoluteCwdPath, { recursive: true });
68
+ console.log("\t ✅ Deleted unnecessary files!");
69
+ }
70
+ {
71
+ console.log("\t- 🔃 Installing dependencies...");
72
+ const packageNames = [
73
+ "@mantine/core",
74
+ "@mantine/hooks",
75
+ "@tabler/icons-react",
76
+ "i18next",
77
+ "react-i18next"
78
+ ];
79
+ execSync(`npm i ${packageNames.join(" ")}`);
80
+ console.log("\t ✅ Installed dependencies!");
81
+ }
82
+ {
83
+ console.log("\t- 🔃 Installing development dependencies...");
84
+ const packageNames = [
85
+ "postcss",
86
+ "postcss-preset-mantine",
87
+ "postcss-simple-vars"
88
+ ];
89
+ execSync(`npm i --save-dev ${packageNames.join(" ")}`);
90
+ console.log("\t ✅ Installed development dependencies!");
30
91
  }
31
- console.log("✅ Created frontend app!");
32
92
  })();
33
93
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;AAE1B,CAAC,KAAK,IAAI,EAAE;IAER,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,MAAM,OAAO,GAAG,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAEpD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IAEnF,MAAM,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAEpC,QAAQ,CAAC,oDAAoD,CAAC,CAAC;IAE/D,KAAK,MAAM,OAAO,IAAI;QAClB,KAAK;QACL,QAAQ;QACR,oBAAoB;QACpB,gBAAgB;KACnB,EAAE,CAAC;QACA,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAChD,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAElE,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;YAE1C,IAAI,IAAI,CAAC,MAAM,EAAE;gBAAE,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;;gBAC7C,EAAE,CAAC,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,EAAE,CAAC,MAAM,CACL,sBAAsB,EACtB,eAAe,EACf,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CAAC;IACN,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AAE3C,CAAC,CAAC,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kvihaugen/create-frontend-app",
3
- "version": "1.0.5",
3
+ "version": "1.1.1",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "bin": {
package/src/index.ts CHANGED
@@ -11,39 +11,130 @@ const cwd = process.cwd();
11
11
 
12
12
  (async () => {
13
13
 
14
- console.log("🔃 Creating frontend app...");
14
+ console.log("🚀 Creating frontend app...\n");
15
15
 
16
- const emitter = degit("LarsSK06/frontend-template");
17
16
 
18
17
  const tempFolderPath = path.join(os.tmpdir(), `${Date.now()}-create-frontend-app`);
19
18
 
20
- await emitter.clone(tempFolderPath);
21
19
 
22
- execSync("npx create-next-app . --yes --empty --skip-install");
20
+ {
21
+ console.log("\t- 🔃 Generating Next.js app...");
22
+
23
+ const emitter = degit("LarsSK06/frontend-template");
24
+
25
+ await emitter.clone(tempFolderPath);
26
+
27
+ execSync("npx create-next-app . --yes --empty --skip-install");
28
+
29
+ console.log("\t ✅ Generated Next.js app!\n");
30
+ }
31
+
32
+
33
+ {
34
+ console.log("\t- 🔃 Cloning files from template...");
35
+
36
+ for (const objName of [
37
+ "src",
38
+ "public",
39
+ "postcss.config.mjs",
40
+ "next.config.ts"
41
+ ]) {
42
+ const absoluteCwdPath = path.join(cwd, objName);
43
+ const absoluteTempFolderPath = path.join(tempFolderPath, objName);
44
+
45
+ if (fs.existsSync(absoluteCwdPath)) {
46
+ const stat = fs.statSync(absoluteCwdPath);
47
+
48
+ if (stat.isFile()) fs.unlinkSync(absoluteCwdPath);
49
+ else fs.rmSync(absoluteCwdPath, { recursive: true, force: true });
50
+ }
51
+
52
+ fs.cpSync(
53
+ absoluteTempFolderPath,
54
+ absoluteCwdPath,
55
+ { recursive: true }
56
+ );
57
+ }
58
+
59
+ console.log("\t ✅ Cloned files from template!\n");
60
+ }
23
61
 
24
- for (const objName of [
25
- "src",
26
- "public",
27
- "postcss.config.mjs",
28
- "next.config.ts"
29
- ]) {
30
- const absoluteCwdPath = path.join(cwd, objName);
31
- const absoluteTempFolderPath = path.join(tempFolderPath, objName);
32
-
33
- if (fs.existsSync(absoluteCwdPath)) {
34
- const stat = fs.statSync(absoluteCwdPath);
35
62
 
36
- if (stat.isFile()) fs.unlinkSync(absoluteCwdPath);
37
- else fs.rmSync(absoluteCwdPath, { recursive: true, force: true });
63
+ {
64
+ console.log("\t- 🔃 Formatting files...");
65
+
66
+ for (const fileName of [
67
+ "package.json",
68
+ "package-lock.json",
69
+ "tsconfig.json"
70
+ ]) {
71
+ const absolutePath = path.join(cwd, fileName);
72
+
73
+ if (!fs.existsSync(absolutePath))
74
+ continue;
75
+
76
+ const fileContent = fs.readFileSync(absolutePath).toString();
77
+
78
+ fs.writeFileSync(
79
+ absolutePath,
80
+ JSON.stringify(JSON.parse(fileContent), null, 4)
81
+ );
38
82
  }
83
+
84
+ console.log("\t ✅ Formatted files!\n");
85
+ }
86
+
39
87
 
40
- fs.cpSync(
41
- absoluteTempFolderPath,
42
- absoluteCwdPath,
43
- { recursive: true }
44
- );
88
+ {
89
+ console.log("\t- 🔃 Deleting unnecessary files...");
90
+
91
+ for (const objName of [
92
+ "README.md"
93
+ ]) {
94
+ const absolutePath = path.join(cwd, objName);
95
+
96
+ if (!fs.existsSync(absolutePath))
97
+ continue;
98
+
99
+ const stat = fs.statSync(absolutePath);
100
+
101
+ if (stat.isFile()) fs.unlinkSync(absolutePath);
102
+ else fs.rmSync(absolutePath, { recursive: true, force: true });
103
+ }
104
+
105
+ console.log("\t ✅ Deleted unnecessary files!");
45
106
  }
46
107
 
47
- console.log("✅ Created frontend app!");
108
+
109
+ {
110
+ console.log("\t- 🔃 Installing dependencies...");
111
+
112
+ const packageNames = [
113
+ "@mantine/core",
114
+ "@mantine/hooks",
115
+ "@tabler/icons-react",
116
+ "i18next",
117
+ "react-i18next"
118
+ ];
119
+
120
+ execSync(`npm i ${packageNames.join(" ")}`);
121
+
122
+ console.log("\t ✅ Installed dependencies!");
123
+ }
124
+
125
+
126
+ {
127
+ console.log("\t- 🔃 Installing development dependencies...");
128
+
129
+ const packageNames = [
130
+ "postcss",
131
+ "postcss-preset-mantine",
132
+ "postcss-simple-vars"
133
+ ];
134
+
135
+ execSync(`npm i --save-dev ${packageNames.join(" ")}`);
136
+
137
+ console.log("\t ✅ Installed development dependencies!");
138
+ }
48
139
 
49
140
  })();