@roki-h5/create-roki-app 0.1.0 → 0.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.
Files changed (53) hide show
  1. package/dist/index.js +15 -1
  2. package/package.json +1 -1
  3. package/templates/h5/config/env/.env.development +7 -0
  4. package/templates/h5/config/env/.env.development.local +2 -0
  5. package/templates/h5/config/env/.env.production +9 -0
  6. package/templates/h5/config/env/.env.test +9 -0
  7. package/templates/h5/config/env.ts +10 -0
  8. package/templates/h5/index.html +1 -1
  9. package/templates/h5/node_modules/.bin/autoprefixer +17 -0
  10. package/templates/h5/node_modules/.bin/browserslist +17 -0
  11. package/templates/h5/node_modules/.bin/tsc +17 -0
  12. package/templates/h5/node_modules/.bin/tsserver +17 -0
  13. package/templates/h5/node_modules/.bin/vite +17 -0
  14. package/templates/h5/node_modules/.bin/vue-tsc +17 -0
  15. package/templates/h5/node_modules/.vite/deps/_metadata.json +43 -0
  16. package/templates/h5/node_modules/.vite/deps/axios.js +3370 -0
  17. package/templates/h5/node_modules/.vite/deps/axios.js.map +7 -0
  18. package/templates/h5/node_modules/.vite/deps/chunk-CVVHEZGK.js +162 -0
  19. package/templates/h5/node_modules/.vite/deps/chunk-CVVHEZGK.js.map +7 -0
  20. package/templates/h5/node_modules/.vite/deps/chunk-HFUUWO4F.js +13072 -0
  21. package/templates/h5/node_modules/.vite/deps/chunk-HFUUWO4F.js.map +7 -0
  22. package/templates/h5/node_modules/.vite/deps/chunk-PZ5AY32C.js +9 -0
  23. package/templates/h5/node_modules/.vite/deps/chunk-PZ5AY32C.js.map +7 -0
  24. package/templates/h5/node_modules/.vite/deps/package.json +3 -0
  25. package/templates/h5/node_modules/.vite/deps/pinia.js +1561 -0
  26. package/templates/h5/node_modules/.vite/deps/pinia.js.map +7 -0
  27. package/templates/h5/node_modules/.vite/deps/vue-router.js +2241 -0
  28. package/templates/h5/node_modules/.vite/deps/vue-router.js.map +7 -0
  29. package/templates/h5/node_modules/.vite/deps/vue.js +347 -0
  30. package/templates/h5/node_modules/.vite/deps/vue.js.map +7 -0
  31. package/templates/h5/node_modules/.vue-global-types/vue_3.5_0_0_0.d.ts +118 -0
  32. package/templates/h5/package.json +9 -6
  33. package/templates/h5/scripts/version.js +38 -0
  34. package/templates/h5/src/App.vue +29 -0
  35. package/templates/h5/src/api/index.ts +4 -0
  36. package/templates/h5/src/api/nativeApi.ts +72 -0
  37. package/templates/h5/src/api/request.ts +2 -1
  38. package/templates/h5/src/api/welcome.ts +24 -0
  39. package/templates/h5/src/assets/images/home/img-device.png +0 -0
  40. package/templates/h5/src/assets/images/home/logo-free.png +0 -0
  41. package/templates/h5/src/assets/images/logo.png +0 -0
  42. package/templates/h5/src/components/WelcomeInfo.vue +90 -0
  43. package/templates/h5/src/router/index.ts +1 -1
  44. package/templates/h5/src/stores/index.ts +96 -1
  45. package/templates/h5/src/utils/appInfo.ts +86 -0
  46. package/templates/h5/src/utils/browser.ts +26 -0
  47. package/templates/h5/src/utils/buildInfo.ts +3 -0
  48. package/templates/h5/src/utils/greeting.ts +38 -0
  49. package/templates/h5/src/views/home/index.vue +12 -11
  50. package/templates/h5/src/vite-env.d.ts +26 -0
  51. package/templates/h5/tsconfig.json +3 -2
  52. package/templates/h5/vite.config.ts +56 -11
  53. package/templates/h5/.env.development +0 -1
package/dist/index.js CHANGED
@@ -42,6 +42,7 @@ async function main() {
42
42
  function copyDir(src, dest, projectName) {
43
43
  fs.mkdirSync(dest, { recursive: true });
44
44
  for (const file of fs.readdirSync(src)) {
45
+ if (shouldSkipTemplateFile(file)) continue;
45
46
  const srcPath = path.join(src, file);
46
47
  const destPath = path.join(dest, file);
47
48
  if (fs.statSync(srcPath).isDirectory()) {
@@ -52,12 +53,25 @@ function copyDir(src, dest, projectName) {
52
53
  fs.copyFileSync(srcPath, destPath);
53
54
  } else {
54
55
  let content = fs.readFileSync(srcPath, "utf-8");
55
- content = content.replace(/__PROJECT_NAME__/g, projectName);
56
+ content = transformTemplateContent(content, file, projectName);
56
57
  fs.writeFileSync(destPath, content);
57
58
  }
58
59
  console.log(cyan(` + ${path.relative(process.cwd(), destPath)}`));
59
60
  }
60
61
  }
62
+ function shouldSkipTemplateFile(filename) {
63
+ return /^\.env(\..+)?\.local$/.test(filename);
64
+ }
65
+ function transformTemplateContent(content, filename, projectName) {
66
+ let next = content.replace(/__PROJECT_NAME__/g, projectName);
67
+ if (filename === "package.json") {
68
+ next = next.replace(
69
+ `"name": "@roki-h5/scaffold-template"`,
70
+ `"name": ${JSON.stringify(projectName)}`
71
+ ).replace(`"@roki-h5/ui": "workspace:*"`, `"@roki-h5/ui": "^0.1.1"`);
72
+ }
73
+ return next;
74
+ }
61
75
  function isBinaryAsset(filename) {
62
76
  return /\.(png|jpe?g|gif|webp|ico|woff2?|ttf|eot)$/i.test(filename);
63
77
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roki-h5/create-roki-app",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "Roki H5 项目脚手架",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -0,0 +1,7 @@
1
+ # just a flag
2
+ VITE_ENV = 'dev'
3
+ # 页面标题(脚手架生成时会替换为项目名)
4
+ VITE_APP_TITLE=__PROJECT_NAME__
5
+ # baseUrl
6
+ VITE_BASE_API=/api
7
+ VITE_NORMALDEVICE_BASE_API=/api
@@ -0,0 +1,2 @@
1
+ # monorepo 内 dev:scaffold 预览标题(不会复制到脚手架生成项目)
2
+ VITE_APP_TITLE=脚手架预览
@@ -0,0 +1,9 @@
1
+ # 相对路径:本地可直接打开 dist/index.html;线上子路径部署改为 VITE_PUBLIC_BASE=/your-app/
2
+ VITE_PUBLIC_BASE=./
3
+ # just a flag
4
+ VITE_ENV = 'prod'
5
+ # 页面标题(脚手架生成时会替换为项目名)
6
+ VITE_APP_TITLE=__PROJECT_NAME__
7
+ # baseUrl
8
+ VITE_BASE_API='https://api.myroki.com'
9
+ VITE_NORMALDEVICE_BASE_API=https://api.myroki.com
@@ -0,0 +1,9 @@
1
+ # 相对路径,产物可本地双击 index.html(勿用于需固定子路径的线上目录)
2
+ VITE_PUBLIC_BASE=./
3
+ # just a flag
4
+ VITE_ENV = 'test'
5
+ # 页面标题(脚手架生成时会替换为项目名)
6
+ VITE_APP_TITLE=__PROJECT_NAME__
7
+ # baseUrl
8
+ VITE_BASE_API='http://api-test.myroki.com'
9
+ VITE_NORMALDEVICE_BASE_API=http://api-test.myroki.com
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 运行时可读的环境变量(来自 config/env/.env.*,需 VITE_ 前缀)
3
+ * @see https://cn.vitejs.dev/guide/env-and-mode.html
4
+ */
5
+ export const appEnv = import.meta.env.VITE_ENV ?? import.meta.env.MODE
6
+
7
+ export const apiBase = import.meta.env.VITE_BASE_API ?? ''
8
+
9
+ export const normalDeviceApiBase =
10
+ import.meta.env.VITE_NORMALDEVICE_BASE_API ?? apiBase
@@ -10,7 +10,7 @@
10
10
  <meta name="mobile-web-app-capable" content="yes" />
11
11
  <meta name="format-detection" content="telephone=no" />
12
12
  <meta name="apple-touch-fullscreen" content="yes" />
13
- <title>__PROJECT_NAME__</title>
13
+ <title>%VITE_APP_TITLE%</title>
14
14
  </head>
15
15
  <body>
16
16
  <div id="app" class="roki-reset"></div>
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/autoprefixer@10.5.2_postcss@8.5.15/node_modules/autoprefixer/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/autoprefixer@10.5.2_postcss@8.5.15/node_modules/autoprefixer/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/autoprefixer@10.5.2_postcss@8.5.15/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/autoprefixer@10.5.2_postcss@8.5.15/node_modules/autoprefixer/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/autoprefixer@10.5.2_postcss@8.5.15/node_modules/autoprefixer/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/autoprefixer@10.5.2_postcss@8.5.15/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../autoprefixer/bin/autoprefixer" "$@"
15
+ else
16
+ exec node "$basedir/../autoprefixer/bin/autoprefixer" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/browserslist@4.28.4/node_modules/browserslist/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/browserslist@4.28.4/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/browserslist@4.28.4/node_modules/browserslist/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/browserslist@4.28.4/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../../../../../../node_modules/.pnpm/browserslist@4.28.4/node_modules/browserslist/cli.js" "$@"
15
+ else
16
+ exec node "$basedir/../../../../../../node_modules/.pnpm/browserslist@4.28.4/node_modules/browserslist/cli.js" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../typescript/bin/tsc" "$@"
15
+ else
16
+ exec node "$basedir/../typescript/bin/tsc" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/typescript@5.9.3/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../typescript/bin/tsserver" "$@"
15
+ else
16
+ exec node "$basedir/../typescript/bin/tsserver" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vite@6.4.3_@types+node@22.19.21/node_modules/vite/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vite@6.4.3_@types+node@22.19.21/node_modules/vite/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vite@6.4.3_@types+node@22.19.21/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vite@6.4.3_@types+node@22.19.21/node_modules/vite/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vite@6.4.3_@types+node@22.19.21/node_modules/vite/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vite@6.4.3_@types+node@22.19.21/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../vite/bin/vite.js" "$@"
15
+ else
16
+ exec node "$basedir/../vite/bin/vite.js" "$@"
17
+ fi
@@ -0,0 +1,17 @@
1
+ #!/bin/sh
2
+ basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
3
+
4
+ case `uname` in
5
+ *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
6
+ esac
7
+
8
+ if [ -z "$NODE_PATH" ]; then
9
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vue-tsc@2.2.12_typescript@5.9.3/node_modules/vue-tsc/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vue-tsc@2.2.12_typescript@5.9.3/node_modules/vue-tsc/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vue-tsc@2.2.12_typescript@5.9.3/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules"
10
+ else
11
+ export NODE_PATH="/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vue-tsc@2.2.12_typescript@5.9.3/node_modules/vue-tsc/bin/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vue-tsc@2.2.12_typescript@5.9.3/node_modules/vue-tsc/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/vue-tsc@2.2.12_typescript@5.9.3/node_modules:/Users/chenfangqian/code/roki-ui/node_modules/.pnpm/node_modules:$NODE_PATH"
12
+ fi
13
+ if [ -x "$basedir/node" ]; then
14
+ exec "$basedir/node" "$basedir/../vue-tsc/bin/vue-tsc.js" "$@"
15
+ else
16
+ exec node "$basedir/../vue-tsc/bin/vue-tsc.js" "$@"
17
+ fi
@@ -0,0 +1,43 @@
1
+ {
2
+ "hash": "7751f520",
3
+ "configHash": "3e3c6b75",
4
+ "lockfileHash": "5b777a87",
5
+ "browserHash": "ca677b03",
6
+ "optimized": {
7
+ "axios": {
8
+ "src": "../../../../../../../node_modules/.pnpm/axios@1.18.1/node_modules/axios/index.js",
9
+ "file": "axios.js",
10
+ "fileHash": "c0755537",
11
+ "needsInterop": false
12
+ },
13
+ "pinia": {
14
+ "src": "../../../../../../../node_modules/.pnpm/pinia@2.3.1_typescript@5.9.3_vue@3.5.38_typescript@5.9.3_/node_modules/pinia/dist/pinia.mjs",
15
+ "file": "pinia.js",
16
+ "fileHash": "6d789f47",
17
+ "needsInterop": false
18
+ },
19
+ "vue": {
20
+ "src": "../../../../../../../node_modules/.pnpm/vue@3.5.38_typescript@5.9.3/node_modules/vue/dist/vue.runtime.esm-bundler.js",
21
+ "file": "vue.js",
22
+ "fileHash": "8d67618a",
23
+ "needsInterop": false
24
+ },
25
+ "vue-router": {
26
+ "src": "../../../../../../../node_modules/.pnpm/vue-router@4.6.4_vue@3.5.38_typescript@5.9.3_/node_modules/vue-router/dist/vue-router.mjs",
27
+ "file": "vue-router.js",
28
+ "fileHash": "eefa2819",
29
+ "needsInterop": false
30
+ }
31
+ },
32
+ "chunks": {
33
+ "chunk-CVVHEZGK": {
34
+ "file": "chunk-CVVHEZGK.js"
35
+ },
36
+ "chunk-HFUUWO4F": {
37
+ "file": "chunk-HFUUWO4F.js"
38
+ },
39
+ "chunk-PZ5AY32C": {
40
+ "file": "chunk-PZ5AY32C.js"
41
+ }
42
+ }
43
+ }