@gx-design-vue/create-gx-cli 0.0.6 → 0.0.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gx-design-vue/create-gx-cli",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "license": "MIT",
5
5
  "description": "a cli to bootstrap gx project",
6
6
  "main": "src/index.js",
package/src/cli.js CHANGED
@@ -48,7 +48,7 @@ async function promptForMissingOptions(options) {
48
48
  type: options.projectName ? null : 'text',
49
49
  name: 'projectName',
50
50
  message: reset('Project name:'),
51
- initial: defaultTargetDir,
51
+ initial: defaultTargetDir
52
52
  },
53
53
  {
54
54
  type: options.template && TEMPLATES.includes(options.template) ? null : 'select',
@@ -56,7 +56,7 @@ async function promptForMissingOptions(options) {
56
56
  message:
57
57
  typeof options.template === 'string' && !TEMPLATES.includes(options.template)
58
58
  ? reset(
59
- `"${options.template}" isn't a valid template. Please choose from below: `,
59
+ `"${options.template}" isn't a valid template. Please choose from below: `
60
60
  )
61
61
  : reset('Select a Template:'),
62
62
  choices: FRAMEWORKS.map((framework) => {
package/src/main.js CHANGED
@@ -8,9 +8,7 @@ import { promisify } from 'util'
8
8
  import { createSpinner } from 'nanospinner'
9
9
  import { download } from 'obtain-git-repo'
10
10
 
11
- const access = promisify(fs.access)
12
11
  const copy = promisify(ncp)
13
- const writeFileSync = promisify(fs.writeFileSync)
14
12
 
15
13
  const gitRepositoryList = [
16
14
  {
@@ -31,7 +29,7 @@ async function copyTemplateFiles(templateDir, root) {
31
29
 
32
30
  function writeFile(path, content) {
33
31
  if (Object.keys(content).length > 0) {
34
- writeFileSync(path, content)
32
+ fs.writeFileSync(path, content)
35
33
  }
36
34
  }
37
35
 
@@ -44,9 +42,8 @@ function editPackageJson(root, projectName) {
44
42
  )
45
43
 
46
44
  pkg.name = projectName
45
+ writeFile(path.join(root, 'package.json'), JSON.stringify(pkg, null, 2))
47
46
  }
48
-
49
- writeFile(path.join(root, 'package.json'), JSON.stringify(pkg, null, 2))
50
47
  }
51
48
 
52
49
  function doneLog(cwd, root) {
@@ -75,7 +72,7 @@ export async function createProject(options) {
75
72
  )
76
73
 
77
74
  try {
78
- await access(templateDir, fs.constants.R_OK)
75
+ await fs.access(templateDir, fs.constants.R_OK)
79
76
  } catch (err) {
80
77
  if (!downloadGit) {
81
78
  console.log(chalk.redBright('模版目录不存在'))
@@ -96,31 +93,26 @@ export async function createProject(options) {
96
93
  // 下载git代码
97
94
  download(`direct:${downloadGit.git}`, root, { clone: true }, async function(err) {
98
95
  if (err) {
99
- console.log(err)
100
96
  spinner.error({ text: '下载失败' })
101
97
  } else {
102
98
  await editPackageJson(root, options.projectName || getProjectName())
103
99
  spinner.success({
104
100
  text: '项目创建成功,请依次执行以下命令'
105
101
  })
102
+ fs.
106
103
  doneLog(cwd, root)
107
104
  }
108
105
  })
109
106
  } else {
110
- let pkg = {}
111
-
112
- if (fs.existsSync(path.join(templateDir, `package.json`))) {
113
- pkg = JSON.parse(
114
- fs.readFileSync(path.join(templateDir, `package.json`), 'utf-8')
115
- )
116
-
117
- pkg.name = options.projectName || getProjectName()
118
- }
119
107
  const tasks = new Listr(
120
108
  [
121
109
  {
122
- title: '项目创建成功,请依次执行以下命令',
110
+ title: '项目创建',
123
111
  task: () => copyTemplateFiles(templateDir, root)
112
+ },
113
+ {
114
+ title: '项目文件修改',
115
+ task: () => editPackageJson(root, options.projectName || getProjectName())
124
116
  }
125
117
  ],
126
118
  {
@@ -129,7 +121,7 @@ export async function createProject(options) {
129
121
  )
130
122
 
131
123
  await tasks.run()
132
- await editPackageJson(root)
124
+
133
125
  doneLog(cwd, root)
134
126
  }
135
127
  return true
@@ -0,0 +1,7 @@
1
+ import { resolve } from 'path'
2
+
3
+ export function generateModifyVars() {
4
+ return {
5
+ hack: `true; @import (reference) "${resolve('src/design/config.less')}";`
6
+ }
7
+ }
@@ -1,6 +1,5 @@
1
1
  // #!/usr/bin/env node
2
2
  import chalk from 'chalk'
3
- import { wrapperEnv, getEnvConfig } from '../utils'
4
3
 
5
4
  import pkg from '../../package.json'
6
5
 
@@ -11,7 +11,5 @@ declare module '@vue/runtime-core' {
11
11
  RouterView: typeof import('vue-router')['RouterView']
12
12
  VanButton: typeof import('vant/es')['Button']
13
13
  VanCell: typeof import('vant/es')['Cell']
14
- VanSwipe: typeof import('vant/es')['Swipe']
15
- VanSwipeItem: typeof import('vant/es')['SwipeItem']
16
14
  }
17
15
  }
@@ -5,8 +5,8 @@ declare global {
5
5
  pkg: {
6
6
  name: string;
7
7
  version: string;
8
- dependencies: Recordable<string>;
9
- devDependencies: Recordable<string>;
8
+ dependencies: RecordType;
9
+ devDependencies: RecordType;
10
10
  };
11
11
  lastBuildTime: string;
12
12
  }
@@ -19,7 +19,7 @@ declare global {
19
19
 
20
20
  declare type PropType<T> = VuePropType<T>;
21
21
 
22
- declare type RecordType<T = string, K = any> = Record<string, any>;
22
+ declare type RecordType<T = string, K = any> = Record<T, K>;
23
23
 
24
24
  declare interface ViteEnv {
25
25
  VITE_USE_MODE: string;
@@ -1,7 +1,5 @@
1
1
  /// <reference types="vite/client" />
2
2
 
3
- import { DefineComponent } from 'vue'
4
-
5
3
  declare module '*.vue' {
6
4
  import type { DefineComponent } from 'vue'
7
5
  const component: DefineComponent<{}, {}, any>
@@ -5,6 +5,7 @@ import dayjs from 'dayjs'
5
5
 
6
6
  import { configManualChunk } from './build/optimizer'
7
7
  import { createVitePlugins } from './build/plugin'
8
+ import { generateModifyVars } from './build/generateModifyVars'
8
9
 
9
10
  import pkg from './package.json'
10
11
 
@@ -52,7 +53,7 @@ export default ({ mode, command }: ConfigEnv): UserConfig => {
52
53
  // The boolean type read by loadEnv is a string. This function can be converted to boolean type
53
54
  const viteEnv = wrapperEnv(env)
54
55
 
55
- const { VITE_BASE_URL } = viteEnv
56
+ const { VITE_BASE_URL, VITE_DROP_CONSOLE } = viteEnv
56
57
 
57
58
  const isBuild = command === 'build'
58
59
 
@@ -85,15 +86,12 @@ export default ({ mode, command }: ConfigEnv): UserConfig => {
85
86
  __INTLIFY_PROD_DEVTOOLS__: false,
86
87
  __APP_INFO__: JSON.stringify(__APP_INFO__)
87
88
  },
89
+ esbuild: {
90
+ drop: VITE_DROP_CONSOLE ? [ 'console', 'debugger' ] : []
91
+ },
88
92
  build: {
89
93
  assetsDir: 'assets',
90
- target: 'es2015',
91
- cssTarget: 'chrome80',
92
- reportCompressedSize: false,
93
94
  chunkSizeWarningLimit: 2500,
94
- commonjsOptions: {
95
- ignoreTryCatch: false
96
- },
97
95
  rollupOptions: {
98
96
  output: {
99
97
  manualChunks: configManualChunk
@@ -106,6 +104,7 @@ export default ({ mode, command }: ConfigEnv): UserConfig => {
106
104
  },
107
105
  preprocessorOptions: {
108
106
  less: {
107
+ modifyVars: generateModifyVars(),
109
108
  javascriptEnabled: true
110
109
  }
111
110
  }